Интересно, как именно обстоит дело с подсчетом процента заряда батареи: начиная со 100% и ниже, программа подсчитывает, какие ресурсы использовались и как долго, и таким образом приблизительно оценивает текущее состояние батареи. Но где они хранятся — в журналах или в данных приложений? Я имею в виду, что происходит с этой информацией после хард ресета или режима DFU - в режиме DFU iOS не загружается, а этот софт все равно работает? Откуда он знает какой процент после повторного включения? Зарядка в режиме DFU по-прежнему заставляет программное обеспечение рассчитывать приблизительный процент?
Вся информация об использовании батареи и энергии (в том числе приблизительное количество энергии, потребляемой приложениями и определенными системными процессами с течением времени) хранится в файлах /var/mobile/Library/BatteryLife/CurrentPowerlog.PLSQL
и /var/mobile/Library/BatteryLife/Archives/powerlog_*.PLSQL
. Эти данные используются как для помощи в расчете процента заряда батареи, так и для выявления энергоемких приложений.
Алгоритм Apple для расчета процента заряда батареи основан на ряде факторов: максимальной емкости батареи (известной на основе батареи, с которой было изготовлено устройство iOS), оставшейся емкости батареи (рассчитанной на основе напряжения), энергопотреблении в течение время (хранится в CurrentPowerlog
) и текущее энергопотребление (рассчитывается на основе Draw ). Все эти данные объединяются для экстраполяции предполагаемой оставшейся емкости, которую iOS отображает в виде процента заряда батареи.
Когда устройство iOS находится в режиме, отличном от iOS (например, в режиме DFU или режиме восстановления ), оно не сохраняет и не считывает какую-либо информацию из CurrentPowerlog
базы данных; он использует прямой метод определения емкости своей литий-ионной батареи : просто напряжение, которое в данный момент выдает батарея. Взгляните на диаграмму зависимости напряжения от времени для литий-ионных аккумуляторов и, возможно, захотите прочитать дополнительную информацию об определении емкости литий-ионных аккумуляторов .
Эндрю Ларссон
Эндрю Ларссон
н-дру
Эндрю Ларссон
Эндрю Ларссон
Эндрю Ларссон
Эндрю Ларссон
/var/mobile/Library/BatteryLife/CurrentPowerlog.PLSQL
.Эндрю Ларссон
н-дру
Эндрю Ларссон
н-дру
н-дру
Эндрю Ларссон
Эндрю Ларссон