Минимизация использования батареи приложения на iOS (когда телефон заблокирован и т. Д.) - PullRequest
1 голос
/ 06 января 2011

Я заметил, что начиная с iOS 4.0, приложения, которые я разработал, начали «не выходить» при нажатии кнопки «Домой», а скорее остаются в «системном трее», который появляется при двойном щелчке по системе.

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

Возникает вопрос: были ли когда-либо какие-либо критерии того, что заставляет iPhone разряжать большинство батарей? Возможно, вызовы opengl, которые используют видеокарту, потребляют совсем немного? Или, может быть, просто активная работа приложений означает, что памяти становится меньше, и это приводит к более быстрому разряду батареи (скажем, потому, что распределитель памяти должен выполнять больше работы и т. Д.)?

Мне интересно узнать, что другие разработчики пытались оптимизировать использование батареи.

1 Ответ

2 голосов
/ 06 января 2011

это не opengl или выделения, которые вызывают разрядку батареи. Фактически переменные сохраняются на жестком диске при выходе из приложения. Они не остаются в памяти, потому что это невозможно при одновременном запуске всех приложений. (см. Комментарии)

особая благодарность Стивену Фурлани за это руководство в документации

Я думаю, что единственные, которые могут вызвать более быструю утечку, - это фоновые процессы, которые по-прежнему разрешены для запуска в фоновом режиме, такие как функция передачи голоса по IP из Skype. (функции, о которых было объявлено в предварительном обзоре SDK для iOS 4). Фоновое аудио / видео, сетевые передачи, такие как pandora и т. Д. (Я не могу назвать все), но не каждое приложение!

И, кстати, я также заметил, что моя батарея иногда не держится так долго, как это возможно в другие дни. Но я не могу найти приложение, которое вызывает это: (

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