Главная » Разработка для Android » Разработка для платформы Android

0

Все, что было изложено до этого момента, не имеет прямого отношения к Android. Рекомендации, о которых шла речь выше, в равной степени ка- саются разработки для любой мобильной платформы. В дополнение к этим общим принципам Android имеет свои особенности.

Для начала стоит потратить  несколько  минут на ознакомление с реко- мендациями по проектированию, которые входят в состав официального руководства  для разработчиков под Android.  Найти  их можно по адресу http://developer.android.com/guide/index.html.

Философия Android требует от ваших приложений:

производительности;

отзывчивости;

целостности;

безопасности.

Скорость и эффективность

В условиях ограниченных ресурсов скорость приложения напрямую за- висит от его эффективности. Многое из того, что вы уже знаете о написании эффективного кода, применимо и к Android, но ограничения встраиваемых систем и использование виртуальной машины Dalvik не позволят воспри- нимать ресурсы как нечто само собой разумеющееся.

Хорошее решение — обратиться к первоисточнику. Команда разработчиков платформы Android опубликовала специфичные рекомендации по написа- нию эффективного кода для этой системы, поэтому вместо того, чтобы пере- сказывать их советы, я предлагаю посетить страницу http://developer.android.com/ guide/practices/design/performance.html и ознакомиться с руководством.

ПРИМЕЧАНИЕ

Вам может показаться, что некоторые из этих рекомендаций противо- речат устоявшимся методикам проектирования, например отказ от использования внутренних сеттеров и геттеров или выбор виртуальных классов вместо интерфейсов. При написании программ для систем с ограниченными ресурсами, таких как встраиваемые устройства, часто необходимо находить компромисс между общепринятыми принципами разработки и повышенными требованиями к эффективности.

Один  из ключевых  моментов  при написании эффективного кода для Android — не нужно рассматривать встраиваемые устройства с точки зрения настольных и серверных систем.

В то время как на серверах и настольных компьютерах объем оператив- ной памяти 2–4 Гбайта считается обычным, типичные смартфоны  «имеют на борту» около 200 Мбайт SDRAM.  Память  — дефицитный ресурс, и вы должны  проявлять особую осторожность,  чтобы использовать ее эффек- тивно. Это означает, что необходимо думать о том, как применять очереди и кучи, ограничивать количество  создаваемых  объектов и следить за тем, каким образом ваши переменные влияют на использование памяти.

Отзывчивость

Отзывчивость в Android  — весьма серьезный  фактор. Достигается она с помощью менеджера Активностей и системы управления окнами. Если один из этих Сервисов обнаруживает неотзывчивое приложение, на экран будет выведено ужасное сообщение «Извините! Активность не отвечает» (часто в виде диалога принудительного закрытия). Такая  ситуация  показана  на рис. 2.9.

Это сообщение модальное, оно перебирает на себя фокус и не исчезает, пока не нажмете кнопку или ваше приложение не начнет отвечать на запро- сы. Меньше всего вам бы хотелось показывать  своему пользователю такое диалоговое окно.

При определении отзывчивости Android учитывает два условия:

приложение должно  реагировать  на любые действия  пользователя

(нажатие клавиш или прикосновение к экрану)  в течение 5 секунд;

Широковещательный приемник должен  заканчивать работу  своего метода onReceive максимум за 10 секунд.

Как правило,  виновники зависаний — сетевые запросы,  сложные  вы- числения  (расчет движений  в игре) и файловый ввод/вывод. Существует немало методик, с помощью которых можно выполнять данные действия и держать при этом приложение в отзывчивом состоянии. В частности, речь идет о Сервисах и потоках (описаны в главе 9).

ПРИМЕЧАНИЕ

Для ясности и простоты многие примеры в этой книге довольно либе- ральны с точки зрения безопасности. При создании собственных при- ложений, особенно тех, которые планируете распространять, эту часть разработки не следует пускать на самотек.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии