Las indicaciones del nivel de la batería son notoriamente poco fiables en la mayoría de los dispositivos. Por eso se conoce como el indicador en lugar de la indicador ya que esto último implica precisión (lo mismo ocurre con los depósitos de combustible de los coches, por lo que cuando quedan menos de aproximadamente 30 millas de combustible, mi coche deja de decirme el nivel y sólo dice "¡reabastecimiento de combustible!"). Es muy común notar comportamientos inusuales como los que describes, y otros comportamientos similares como que el primer 50% se usa más lentamente que el último 50%, etc.
En un intento por mejorar la situación, Apple hizo algo un poco diferente con la forma en que el valor del indicador de la batería se genera comúnmente en el iOS. Pero antes de mencionarlo, vale la pena mostrar cómo lo hacen muchos otros fabricantes (y de hecho, cómo lo hace Apple en el hardware de OSX todavía).
El método normal es mostrar el 100% lleno cuando la batería deja de cargarse. Esta es una medida física, más que lógica, y se basa en la toma de lecturas de voltaje/amplitudes y si han dejado de aumentar o han alcanzado los niveles esperados, etc. En un Macbook, el comportamiento mostrado por la respuesta de @Robuust se debe a este método de carga; porque no es bueno seguir cargando la batería hasta que esté absolutamente llena cuando sólo ha perdido un porcentaje más o menos; es mejor usar un poco más antes de empezar a cargar de nuevo. OSX no se molestará en cargar una batería que estaba al 100% hasta que haya bajado lo suficiente como para que la recarga valga la pena sin causar problemas potenciales de salud de la batería. Por lo tanto, si te desenchufas para ir a otra habitación y caes del 100% al 98%, se determinará que no vale la pena acortar la vida útil de una batería sólo para darte una recarga del 2%. Esperará hasta que se alcance una indicación más baja, digamos 94%, y luego cuando caiga por debajo de este umbral comenzará a cargarse de nuevo.
Esto causa (o solía causar) una interminable confusión en el usuario; ¡¿Por qué mi batería no llega al 100%?! Mi batería es defectuosa...
Así que en el iOS, cambiaron a un método diferente de informar sobre la vida de la batería. El estado de carga genuino del 100% sigue siendo monitoreado de la misma manera, pero la forma en que se informa al usuario es diferente. La batería se mostrará como llena cuando en realidad sólo está, por ejemplo, digamos un 95% llena (no conozco los detalles, lo que probablemente cambia de modelo a modelo de todos modos). En este punto puedes desconectar y usar el dispositivo con seguridad (no hay necesidad de cargar una batería moderna hasta el final para evitar daños en la memoria) aunque puede que no esté completamente cargada independientemente de lo que diga. Sin embargo, si lo dejas enchufado, sigue cargándose. Físicamente, cuando la batería alcanza el 100% de carga, lógicamente eso es esencialmente pasar del nivel del 100% que se le muestra al usuario, digamos al 105% (aunque esto no se muestra, claramente). En el punto en que alcanza esta marca completa genuina, entonces funciona con batería hasta que el valor se reduzca al 95% físico / 100% lógico. Entonces se carga. Usará el 5% superior o más de la carga física genuina de la batería para hacerla funcionar constantemente a través de un pequeño ciclo de carga y descarga, y mostrar el 100% en todo momento al usuario, sin importar en qué parte del ciclo se encuentre.
Capacidad física real de la batería:
[0--------------------------------------------------100]
El usuario lógico informó del cargo:
[--0---------------------------------------------100---]
Carga lógica accesible para el usuario:
[--0------------------------------------------------105]
Mantener una batería activa de esta manera es mejor para su salud que cargarla al máximo y mantenerla cargada al máximo. Las baterías están diseñadas para ser usadas, por lo que las baterías de los ordenadores portátiles de las máquinas que normalmente permanecen conectadas a menudo fallan con un uso relativamente pequeño.
Un resultado neto de la operación anterior es que a veces, cuando el teléfono muestra el 100%, caerá a 99 relativamente rápido, porque fue en ese punto del ciclo donde había estado funcionando con batería y estaba a punto de empezar a cargarse de nuevo de todos modos. Otras veces cuando se desconecta, acaba de terminar de cargarse hasta su carga completa genuina, y por lo tanto se obtiene todo el tiempo extra que toma la descarga desde su lógico 105% hasta el 99%, por lo que se mostrará al 100% durante años antes de comenzar a caer más consistentemente.
Lo mismo ocurre en el fondo de la batería también, cuando llega al 0%, no sólo se queda sin energía y muere, sino que sabe que tiene suficiente energía reservada para realizar un apagado limpio, y mantener suficientes cosas como la fecha/hora, etc., o para ser capaz de mostrarte un ¡Necesito energía! cuando intentas volver a encenderlo.
Por último, en cuanto a por qué aparentemente se puede recuperar la carga después de un reinicio, parece razonable suponer que se trata sólo de un artefacto del proceso utilizado para proporcionar al usuario una indicación lógica de la batería, en lugar de la real. Mi física no es brillante, pero creo que es más difícil registrar cuál es el voltaje estático de una batería cuando se está usando (ya que se está agotando constantemente), y durante el arranque probablemente esté usando más energía que cuando sólo está en el bolsillo y así sucesivamente. Relacione esto con algún algoritmo que se ajuste a la edad y salud general de la batería de todos modos (si una batería ha perdido el 20% de su capacidad en el transcurso de un par de años, no llegará simplemente al 80% de su capacidad y no irá más allá, su capacidad física se reduce y la capacidad lógica necesita ser ajustada para dar el mismo rango de 0-100%, incluso si ese rango es ahora más pequeño) y es fácil ver que hay mucho espacio para que los valores salten un poco.
La clave es que los números comunicados al usuario no son más que una "aproximación" ajustada por el software a la carga disponible, y pueden variar según el uso actual, etc. No es un defecto :)