Я слышал, что это действительно ухудшает срок службы батареи.Это правда?
Не обязательно.На большинстве устройств Android и HttpClient
, и HttpUrlConnection
могут поддерживать Keep-Alive
, поэтому, если ваш HTTP-сервер настроен правильно и вы выполняете запросы довольно быстро, я не ожидаю существенной разницы.
В индивидуальном представлении клиент может получить файлы, когда он хочет, если он этого хочет.
Если вы имеете в виду, что они могут запрашивать их в течение значительного периода времени,это не сможет использовать Keep-Alive
.Однако может случиться так, что вы будете запрашивать меньше файлов в целом и использовать существенно меньшую пропускную способность.Невозможно сказать в резюме, что будет лучше для расхода батареи.
Является ли влияние на срок службы батареи настолько значительным, что было бы допустимым вариантом превышения пропускной способности?
Это будет зависеть от того, сколько вы скачиваете, как часто и т. Д.
Однако, ИМХО, вы сосредотачиваетесь не на той проблеме.
Если вы потребляете так что большой пропускной способности, что вы беспокоитесь о сроке службы батареи, ваши пользователи будут атаковать вас вилами и кирками за то, что они будут стоить им столько денег на их тарифный план данных.
Следовательно, я бы использовалTrafficStats
и попробуйте различные сценарии, чтобы увидеть, какую полосу пропускания вы действительно используете, и, следовательно, нужно ли вам искать способы потреблять меньшую полосу пропускания в целом (например, реже опрашивать), чтобы пользователи не обанкротились вашим приложением.Я подозреваю, что ваши проблемы с аккумулятором сами по себе позаботятся о себе как о побочном эффекте.
Однако, если в ходе тестирования вы обнаружите, что ваше приложение отображается на «экране обвинения батареи» в Настройках, затем начните беспокоиться о расходе батареи, будь то из полосы пропускания или других источников (например, чрезмерное использование WakeLocks
).