Распознавание активности клиента расход батареи
Я хочу использовать для моего приложения ActivityRecognitionClient и хочу, чтобы оно всегда работало в фоновом режиме. Но сколько батареи на самом деле он потребляет и каков наилучший интервал для оптимизации батареи? В ссылке сказано только
"Большие значения приведут к меньшему количеству обнаружений активности при одновременном увеличении срока службы батареи. Меньшие значения приведут к более частому обнаружению активности, но потребляют больше энергии, поскольку устройство должно чаще просыпаться"
Можете ли вы сказать мне в реальной жизни, сколько он будет потреблять за частоту обновления?
1 ответ
Почти невозможно правильно ответить на этот вопрос, потому что ответ звучит громко: "это зависит".
Уровень заряда батареи, который определенное действие потребляет на телефоне, определить сложно, потому что на него влияют многие факторы.
Во-первых, Android пытается пакетировать многие типы запросов, таких как этот, поэтому, если 10 различных приложений хотят обнаруживать обновления каждые 5 минут, он будет делать это только один раз каждые 5 минут, а не 10 раз каждые 5 минут. Какое приложение и какое действие за это отвечает?
Во-вторых, обнаружение активности зависит от того, какие датчики (и модели датчиков) доступны на устройстве. Разные устройства имеют разные чипы GPS, микросхемы акселерометра и т. Д. Некоторые устройства могут также не иметь всех этих типов датчиков. Все это меняет количество энергии, которую распознавание активности потребляет.
Это лишь некоторые из причин, по которым сложно определить, сколько энергии потребляет обновление.
Ответ на вопрос "как часто мне следует запрашивать обновления" - "настолько редко, насколько ваше приложение может это терпеть". Подумайте о своем сценарии использования и общем утверждении, что более частые обновления потребляют больше энергии, и примите соответствующее решение.