Лучшая практика - режим фонового приложения iPhone - PullRequest
6 голосов
/ 28 августа 2010

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

Приложение потребляло около 50% заряда батареи за последние четыре часа.Он прочитал всю официальную документацию от Apple по этой теме, но я до сих пор не уверен, какие части моего приложения все еще работают, а какие функциональные возможности приостановлены (кроме UI Drawing, что должно быть ясно).

Я не использую никакого реального стандартного кода, но расширенные библиотеки, такие как ASIHTTPRequest , для общения с моим веб-сервисом.Тесты на автомобиле друзей показали, что сетевое подключение и службы определения местоположения все еще работают, когда я использую, например:

[locationManager startMonitoringSignificantLocationChanges];

Документация Apple на различные состояния приложения

Фон : приложение находится в фоновом режиме и выполняет код [...]

Должен ли я написать «голые металлические» функции для получения иотправить данные этого местоположения?Нужно ли удалять все другие объекты на время, пока приложение находится в фоновом режиме, чтобы уменьшить объем памяти?Кажется, пока нет лучшей практики.

Есть идеи?Может быть, вы, ребята, можете дать мне некоторые из ваших идей.Спасибо.

Редактировать: Существует новый инструмент под названием Приборы для диагностики энергии для записи любого потребления энергии (для iPhone 3GS и более поздних версий) сподключенное устройство.Также есть еще один сервис на устройстве в Настройках приложения -> Разработчик -> Использование энергии.Замечательно проверить ваше энергопотребление в полевых условиях.Созданные журналы могут быть извлечены позже в инструментах.

Ссылка: WWDC 2010 Сессия 309 - Расширенный анализ производительности с помощью инструментов

1 Ответ

4 голосов
/ 28 августа 2010

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

Возможно, вы захотите сохранить и упаковать кучу данных о местоположении, а также посылать данные в виде быстрой посылки как можно реже (дважды в день, когда пользователь прекращает движение в течение 30 минут, только после того, как пользовательпосещение одного из их любимых ресторанов и т. д.). Включение радио менее, чем в два раза реже, может приблизить вас к удвоению срока службы батареи (если только пользователь не делает что-то еще с устройством).

...