Подводные камни приложений Android - PullRequest
5 голосов
/ 24 августа 2009

Есть ли подводные камни или моменты, которые следует помнить при программировании для Android? Я думаю, что список будет включать темы о многопоточности, постоянном хранилище и т. Д.

Ответы [ 3 ]

12 голосов
/ 24 августа 2009

Здесь можно сказать много вещей.

Видео Android из Google I / O 2009 охватывает большинство аспектов, которые следует учитывать при программировании на Android. Фактически, статьи http://android -developers.blogspot.com / являются источником, на котором эти презентации расширяются, и видят их объяснения от некоторых из лучших инженеров Google (и в качестве бонуса вы получить раздел вопросов и ответов) является обязательным для каждого разработчика Android, IMO.

Некоторые из вещей, которые можно упомянуть:

  • Не используйте числа с плавающей запятой, если вы можете достичь аналогичных результатов с целыми числами, поскольку Android не имеет встроенной поддержки значений с плавающей запятой.

  • Широко используйте средства отладки, чтобы оптимизировать как производительность, так и удобство обслуживания, а также избежать распространенных ошибок, таких как избыточность ViewGroup при разработке пользовательского интерфейса, или ненужных многократных вызовов более тяжелых методов (View.inflate (), findViewById (), setImageResource ()).

  • Объедините ваши фоновые вызовы службы, в противном случае вы просыпаете ОС излишне и слишком часто, рискуя при этом другими службами, поддерживающими ваш вызов (что приводит к значительному сокращению срока службы батареи)

  • Предпочитаете SAX-парсеры над DOM-парсерами, вы теряете время на их реализацию, но выигрываете в производительности вашего приложения (и доступности вашего устройства)

  • Сохраняйте манипуляции с пользовательским интерфейсом в потоке пользовательского интерфейса, поскольку инструментарий интерфейса не является поточно-ориентированным

  • Имейте в виду, что изменение ориентации разрушает и снова создает вашу активность (я узнал, что это тяжелый и мучительный путь - именно так я начал следить за блогом разработчиков Android)

... и многие другие.

5 голосов
/ 24 августа 2009

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

2 голосов
/ 24 августа 2009

Я бы не назвал их подводными камнями как таковыми, но всегда не забывайте учитывать, что это не тот компьютер, который подключен к стене, которую можно просто модернизировать различными способами. У вас есть цикл обновления примерно каждые 2 года (продолжительность стандартного мобильного контракта в наши дни), и аппаратное обеспечение (А) не является самым быстрым и (Б) статичным в течение этого времени.

Что нужно учитывать:

1) Как вещи, которые ваше приложение влияет на время автономной работы? Вы разбрызгиваете яркую графику повсюду? Запуск много потоков в фоновом режиме? Услуги?

2) Сколько места должно занимать ваше приложение на устройстве? Является ли информация чем-то, что может храниться на сервере и передаваться на устройство для временного использования только тогда, когда это необходимо?

3) Относительно # 2, терпимо ли ваше приложение к плохим / несуществующим сетевым / мобильным соединениям? Как это работает в сети EDGE против 3G?

Я уверен, что вы можете придумать больше, но это то, что я имею в виду, когда пишу свои приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...