Время работы от батареи - PullRequest
       2

Время работы от батареи

3 голосов
/ 24 февраля 2011

Мне интересно, есть ли какая-нибудь библиотека для расчета оставшегося времени работы от батареи на мобильных устройствах, таких как iPhone, iPad, телефоны на базе Android и т. Д.? Или, если есть надежда сделать какие-либо разумные предположения об использовании батареи в зависимости от свойств, таких как:

  • Яркость экрана
  • Использование радио (сеть, WIFI / 3G / 4G / Bluetooth)
  • Уровень взаимодействия с пользователем
  • загрузка процессора

Я думаю, что можно было бы выяснить, как эти свойства влияют на срок службы батареи, и таким образом разработать какую-то библиотеку, чтобы предупреждать пользователей о низком уровне заряда батареи, когда вы знаете, как долго пользователь должен будет использовать устройство. Вы могли бы тогда:

  • Попросить пользователя уменьшить яркость экрана
  • Попросить пользователя отключить WIFI / 3G (или переключить)
  • Автоматически понижать частоту опроса обновлений при любых сетевых операциях

У меня ограниченные знания по физике и электронике, но мне кажется, что это можно сделать? Я гуглил и не нашел ничего подобного.

1 Ответ

4 голосов
/ 25 февраля 2011

Эту функцию действительно сложно развить, потому что она зависит от многих факторов.Вы лучше реализуете родные уведомления батареи для каждой конкретной платформы.Некоторые платформы предоставляют достаточно полную информацию о потребляемой мощности и оставшемся сроке службы батареи.Это (вероятно) приведет к лучшим оценкам и сэкономит вам много работы:)

Пример для iPhone;

UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@”UIDeviceBatteryLevelDidChangeNotification” object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@”UIDeviceBatteryStateDidChangeNotification” object:device];

Каждое 5% уменьшение заряда батареи запускает UIDeviceBatteryLevelDidChangeNotification.Если вы знаете, как долго устройство работает от 5% заряда батареи, вы можете оценить, как долго оно будет работать от остаточного заряда батареи.По моему опыту, этот метод дает довольно надежные оценки.

В этом случае: когда ваши приложения обнаруживают быстрый разряд батареи, вы проверяете, какие функции энергопотребления включены, и советуете пользователю отключить включенные (WiFi, высокаяяркость и т. д.).

Кроме того, приложения, которые постоянно проверяют множество системных переменных, потребляют довольно много энергии.Это делает ваше приложение «невыгодным» с точки зрения экономии энергии.

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