Ver Mensaje Individual
  #111  
Viejo 02/01/13, 22:50:00
Array

[xs_avatar]
pringaguardias pringaguardias no está en línea
Usuario muy activo
 
Fecha de registro: abr 2010
Localización: Lliria (Valencia) España
Mensajes: 5,623
Modelo de smartphone: oneplus 5
Tu operador: Yoigo
Por si puede servir he encontrado esta explicacion traducida de un post de XDA sobre "partial wakelocks" por si puede servir de ayuda. Me ha parecido interesante:

En XDA hay bastante información sobre lo que se ha encontrado sobre el tema.

Parece ser que la causa de ese bug es "otros bugs" que algunas aplicaciones dan con los "Partial Wakelocks".

A modo de super-resumen-simplificado (que no se me tire encima ningún experto ), voy a traducir y simplificar la información de XDA sobre qué es un "partial wakelock":

El teléfono tiene, resumiendo mucho, lo que serían unos 3 modos de operación: "activo, despierto y reposo". Ya digo que la traducción de los "nombres" es licencia artística mía para hacerlo "más llano", así que dev's y otros expertos, no me echéis a los leones todavía...

Cuando estás usando el teléfono, por norma general, está activo (la CPU trabaja a una velocidad "alta"). Cuando dejamos de usarlo (cerramos la aplicación o terminamos la llamada) el teléfono queda "despierto" pero no "activo" (la pantalla está encendida y el teléfono está listo para ser usado, pero no está siéndolo). Y cuando ha pasado cierto tiempo sin que lo uses, se pasa a "reposo" (la CPU baja de velocidad y varios procesos se suspenden para ahorrar batería). Esto a grandes rasgos, insisto. Digamos que el estado "del medio" es un estado de transición entre el "activo" y el "reposo", y que lo ideal es, siempre que no necesite estar activo, pase a reposo para ahorrar ese gasto de batería innecesario.

Pero eso no es siempre posible... por ejemplo, cuando haces una llamada. Si el teléfono pasase a "reposo" se te cortaría la llamada, y por eso es por lo que el proceso de la llamada hace un "wakelock" (o lo que es lo mismo, bloquea el teléfono en el modo "despierto") para que sigan ejecutándose los procesos necesarios para la llamada y para que el teléfono esté listo para responder a cualquier comando (como el de colgar la llamada). Eso pasa con infinidad de aplicaciones y procesos, y es necesario. No es "malo" siempre que un proceso ejecute un wakelock y no deje irse el teléfono al modo "reposo" precisamente por eso, porque para que funcionen muchas cosas necesitan que el teléfono no esté en ese reposo.

Pero el problema de los "partial wakelocks" que aparecen reflejados dentro del proceso "SO Android" viene siendo que ciertas aplicaciones y servicios "abusan" de ese "wakelock" impidiendo que el teléfono se vaya al modo "reposo" y, por tanto, manteniendo la CPU a un nivel de velocidad "medio" y procesos abiertos que hacen que la batería se consuma mucho antes. Estos programas y procesos que "alimentan el bug" suelen ser, por norma general, programas que necesitan mantener una conexión de datos activa (para sincronizarse) y cosas así. No son todos los que necesitan datos, y no son sólo los que necesitan conexión de datos... por tanto hay que estudiar cada caso independientemente. Pero la fuente del problema viene ahí.

Con algunos kernels nuevos que han salido después, se supone que "se corregía" el problema, pero se comprobó que lo único que hacían esos kernels era no tener en cuenta los wakelocks para el cómputo de consumo de batería en el proceso "SO Android", por lo que lo único que "reparan" esos kernels es que no aparece reflejado, pero el consumo de batería sigue siendo el mismo.

Y como experiencia personal, hay por ejemplo una aplicación que se llama "Samsung Push Service" que, si entras en Samsung Apps se te actualiza y es, sin duda alguna, uno de los que más partial wakelocks provocan (si entras en Samsung Apps, inicias sesión en tu cuenta, y entras en "opciones" y puedes desactivar "recibir notificaciones push si compras aplicaciones desde la web"... y el proceso deja de ser un drena-baterías).

Por eso a cualquiera que "sufra" este bug le recomiendo que mire qué aplicaciones necesita y cuales no, a cuales les quiere mantener la conexión permanentemente activas y cuales no (ya digo que no son sólo las de "datos" ni tampoco todas las de "datos" son las que lo provocan), y que con paciencia y probando (en XDA está muchísima información sobre qué mirar y cómo mirarlo) es bastante "solucionable" el asunto.

Y mi batería ya dura tranquilamente todo el fin de semana sin cargar y dándole el mismo uso

Saludos.
__________________
Responder Con Cita
Los siguientes 12 usuarios han agradecido a pringaguardias su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]