В настоящее время я тестирую новейшую функцию iOS4, чтобы перевести мое приложение с поддержкой определения местоположения в фоновый режим.Ну, это работает!Но, с другой стороны, очень разумно справляться с огромным энергопотреблением.
Приложение потребляло около 50% заряда батареи за последние четыре часа.Он прочитал всю официальную документацию от Apple по этой теме, но я до сих пор не уверен, какие части моего приложения все еще работают, а какие функциональные возможности приостановлены (кроме UI Drawing, что должно быть ясно).
Я не использую никакого реального стандартного кода, но расширенные библиотеки, такие как ASIHTTPRequest , для общения с моим веб-сервисом.Тесты на автомобиле друзей показали, что сетевое подключение и службы определения местоположения все еще работают, когда я использую, например:
[locationManager startMonitoringSignificantLocationChanges];
Документация Apple на различные состояния приложения
Фон : приложение находится в фоновом режиме и выполняет код [...]
Должен ли я написать «голые металлические» функции для получения иотправить данные этого местоположения?Нужно ли удалять все другие объекты на время, пока приложение находится в фоновом режиме, чтобы уменьшить объем памяти?Кажется, пока нет лучшей практики.
Есть идеи?Может быть, вы, ребята, можете дать мне некоторые из ваших идей.Спасибо.
Редактировать: Существует новый инструмент под названием Приборы для диагностики энергии для записи любого потребления энергии (для iPhone 3GS и более поздних версий) сподключенное устройство.Также есть еще один сервис на устройстве в Настройках приложения -> Разработчик -> Использование энергии.Замечательно проверить ваше энергопотребление в полевых условиях.Созданные журналы могут быть извлечены позже в инструментах.
Ссылка: WWDC 2010 Сессия 309 - Расширенный анализ производительности с помощью инструментов