|
||
|
|
|
|||||||
| Discusión general sobre smartphones y tecnología Charla sobre smartphones y tecnología en general |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Descubierto un problema de batería en teléfonos con CPU MediaTek
TL;DR: a las personas que no sean desarrolladoras de software esto les puede parecer aburrido. El resumen es que en los teléfonos de MediaTek a veces se atascan las aplicaciones, se gasta rápido la batería y solo se soluciona deteniendo o desinstalando las aplicaciones atascadas.
He descubierto un problema de batería que afecta a teléfonos MediaTek y que he reproducido con facilidad en mi antiguo Galaxy M15 y en el Motorola g86 Power. Sin embargo en mi Motorola g75 he intentado reproducirlo durante días y no he sido capaz. Consiste en usar una aplicación que use wakelocks de manera agresiva y luego dejar el móvil en reposo. De forma aleatoria ocurre que la CPU del teléfono se queda permanentemente activa y gastando batería mientras el teléfono está en reposo, y esto no para hasta que fuerzas la detención de la aplicación o la desinstalas. Yo lo he reproducido en dos teléfonos con MediaTek muy fácilmente del siguiente modo. Se conecta el teléfono por ADB al ordenador y se inicia una consola con el comando: adb shell Acto seguido se ejecuta el comando: watch -n 1 "dumpsys power | grep 'Wake Locks:' -A 8" Con eso estaremos viendo en directo los wakelocks que el teléfono tiene y que hacen que la CPU esté activa aunque no estemos usando el teléfono. Debería haber 0 wakelocks en todo momento, porque mientras hacemos la prueba el teléfono está en total reposo. A veces sale alguno de WhatsApp o alguna aplicación similar, pero duran muy poco y luego se van. Descargamos esta aplicación, que usa wakelocks de manera agresiva: https://play.google.com/store/apps/d...ion.itunerfree Entramos en la aplicación, selecionamos una emisora cualquiera, le damos a reproducir y al poco tiempo le damos a parar y salimos de la aplicación. Después de hacer esto 20 o 30 veces, un wakelock se queda atascado permanentemente hasta que detengamos o desinstalemos la aplicación. Parece una tontería, pero si usas aplicaciones como esta frecuentemente, va a llegar un momento en que tu teléfono se quede con la CPU activa y gastando batería para siempre. Es verdad que la aplicación es agresiva con los wakelocks en particular, pero la he probado durante días en mi Motorola g75 y en este teléfono siempre los ha liberado correctamente nada más parar la reproducción. Es algo que tienen los teléfonos de MediaTek que hace que algunas veces el wakelock no se libere correctamente y se quede gastando CPU y batería permanentemente, lo cual, es muy incómodo. La arquitectura del SO Android es: https://wiki.cdot.senecapolytechnic....droid_Concepts. Ya que MediaTek proporciona controladores (drivers) de código cerrado, yo diría que el problema está ahí. Debe de haber algún controlador en el kernel de Linux que se "olvida" de liberar un wakelock cuando una aplicación llama al método .release(). Si no lo he reproducido en más de dos teléfonos es porque no tengo más, pero apuesto a que podría hacerlo. Yo desde luego no tengo ganas de comprarme otro teléfono con CPU de MediaTek. Última edición por maykelbembibre Día 23/09/25 a las 19:21:47. |
| Gracias de parte de: | ||
|
|
![]() |
Estás aquí
|
||||||
|
||||||