¿Dónde almacena el iPhone información sobre el porcentaje de batería actual?

Me pregunto cómo es exactamente con el cálculo del porcentaje de batería: desde el 100% hacia abajo, el software calcula qué recursos se usaron y durante cuánto tiempo y, por lo tanto, se aproxima al estado actual de la batería. Pero, ¿dónde se almacena, como registros o como datos de aplicaciones? Quiero decir, ¿qué sucede con esta información después del restablecimiento completo o el modo DFU? En el modo DFU, iOS no está cargado, pero este software aún se ejecuta. ¿Cómo sabe cuál es el porcentaje después de encenderlo de nuevo? ¿La carga en modo DFU todavía hace que el software calcule el porcentaje aproximado?

Actualicé mi respuesta con más información, incluido dónde se almacenan los registros de uso de la batería. Si mi respuesta le ayudó, márquela como la respuesta correcta (hay una marca de verificación en la que puede hacer clic junto a ella).
Y si hay alguna información que pueda agregar o explicar más, no dude en enviar sus comentarios.
Gracias por la respuesta y todo, pero ¿cómo puedo saber que es bueno? En uno de los podcasts, escuché que Iphone está calculando el uso en función del tiempo y la potencia de los recursos utilizados, según se informa, es por eso que es necesario calibrar la batería para que el dispositivo sepa cuándo está realmente en 0%. Si se basara en el voltaje, ¿necesitaría la calibración? Con mucho gusto aceptaré tu respuesta, pero contaba con más respuestas para comparar, o al menos algunas pistas sobre dónde encontrarlo en los documentos oficiales de Apple. Agradezco su ayuda, pero me gustaría saber si es su suposición o lo sabe de alguna parte...
Había piezas que conocía y piezas que eran deducciones que hice en base a cómo se hacen estas cosas comúnmente. Investigué mucho más, porque tenía curiosidad y quería demostrarte mi respuesta. He actualizado mi respuesta a continuación para reflejar mis nuevos hallazgos. Sin embargo, recuerde que la mayor parte de esto es solo una referencia mía a alguien que hizo referencia a una versión desensamblada de iOS y el código de Apple, por lo que puede haber interpretaciones e información errónea, y no puedo probar nada de eso, porque el código de Apple está protegido por la ley de derechos de autor. y por lo tanto no puede ser publicado.
En lo que respecta a la calibración de la batería, no creo que el código de Apple haga uso de tal cosa en ninguna parte. Podría estar equivocado, pero no hay necesidad de que "re-calibren" cuando tienen ciencia y estadísticas conocidas a la mano. Lea el enlace sobre "más información sobre cómo determinar las capacidades" para ver de lo que estoy hablando.
Y descargo de responsabilidad: no tengo ni he visto el código que ejecuta el porcentaje de batería en iOS. Solo estoy resumiendo lo que otros han encontrado e informado. Como pregunta retórica, incluso si desensamblara el código de Apple y se lo describiera, ¿tendría más validez que la que tengo ahora?
Lo único que sé con certeza y puedo probar es que la información de uso de la batería se almacena en archivos /var/mobile/Library/BatteryLife/CurrentPowerlog.PLSQL.
¿Hay alguna otra información que necesite?
@AndrewLarsson Encontré la explicación de Steve Gibson sobre estas baterías de iones de litio. Está en el episodio 322 de Security Now: youtube.com/watch?v=ktnxlQwaKdE comprobar de 42:25 a 45:35. Transcripción aquí: grc.com/sn/sn-322.htm , busque "batería". Dice que utiliza temporización y cálculo de consumo de energía porque el voltaje no es confiable en este tipo de baterías.
Eso es exactamente lo que dice mi respuesta ahora.
Lo mismo en el episodio 526: grc.com/sn/sn-526.htm
Su tercer párrafo de la respuesta dice exactamente lo contrario con respecto al voltaje.
Mi tercer párrafo se aplica solo cuando está en modo DFU, modo de recuperación y otros modos que no son iOS. Lo siento por cualquier confusión.
Aclaré aún más en mi respuesta que el tercer párrafo solo se aplica a modos como DFU y Recuperación.

Respuestas (1)

Toda la información sobre el uso de la batería y la energía (incluida la cantidad aproximada de energía que usan las aplicaciones y ciertos procesos del sistema a lo largo del tiempo) se almacena en /var/mobile/Library/BatteryLife/CurrentPowerlog.PLSQLy /var/mobile/Library/BatteryLife/Archives/powerlog_*.PLSQL. Estos datos se utilizan para ayudar en el cálculo del porcentaje de batería y para desenmascarar aplicaciones que consumen mucha energía.

El algoritmo de Apple para el porcentaje de batería se basa en varios factores: la capacidad máxima de la batería (conocida según la batería con la que se fabricó el dispositivo iOS), la capacidad restante de la batería (calculada según el voltaje), el uso de energía tiempo (almacenado en CurrentPowerlog) y uso de energía actual (calculado en función del consumo ). Todos estos datos se juntan para extrapolar una capacidad restante estimada que iOS muestra como el porcentaje de batería.

Cuando el dispositivo iOS está en un modo diferente al de iOS (como el modo DFU o el modo de recuperación ), no almacena ni lee ninguna información de la CurrentPowerlogbase de datos; utiliza el método directo para determinar la capacidad de su batería de iones de litio : simplemente el voltaje que la batería está emitiendo actualmente. Eche un vistazo a un gráfico de voltaje a lo largo del tiempo para las baterías de iones de litio , y es posible que desee leer más información sobre cómo determinar las capacidades de las baterías de iones de litio .