Как завещал дедушка Кнут: «в 97% случаев: преждевременная оптимизация — корень всех зол». Поэтому прежде чем что-то оптимизировать надо погонять какие-нибудь тесты и увидеть цифры.
Так что сегодня ночью я обвешался программами для записи состояния процессора, электротока от аккумулятора и уровня заряда аккумулятора, вырубил 3G и Wi-Fi и целый день мучительно избегал использования телефона. Полностью избежать его не получалось, но на графике заметно ненормальное потребление в известное время, так что можно его учесть.
Никаких таск киллеров, естественно не было. Кто в фоне был тот там и остался (тут еще 768 метров оперативы, так что Андроид не стремится из чистить)
Всего «эксперимент» занял около 21 часа. За это время я потратил 20 процентов заряда, из которых надо еще вычесть 6 процентов, которые таки ушли на те вещи, о которых я подозреваю. Итого 14 процентов за 21 час или благоприятный прогноз — 120-140 часов в режиме сна. 5-6 дней. Хотя не известно насколько линейно батарея показывает свой заряд.
График номер два. CurrentWidget показывает минимальный ток 38-40 mA. При размере батареи 1450 mAh это дает 36-38 часов. Уже в три раза меньше.
Вариант номер три: Power Tutor умеет считать среднее электроподтребление. Но у меня тако чувство, что он отрубается в момент сна как-то хитро. График есть, там реально видно, что потребление маленькое, но у себя в статистике выдает 360mW в среднем. И время — 6 часов вместо 21. Но тогда попробуем посчитать сколько проживет телефон при таком использовании. При напряжении батареи в 3.7В получаем ток 100mAh и ответ — 15 часов.
Плюс на графике процессора видно, что кто-то таки использует процессор каждые 3-4 минуты даже в режиме сна, хотя у меня всякие обновления и синхронизации висят как минимум на получасовом интервале. Надо бы вычислить кто это и нужен ли он мне.
Завтра попробую тоже самое с постоянно включенным 3G