Mediaserver con tiempo de CPU y batería excesivos

17

Tengo un Nexus 4 en OS versión 4.2.1 que de repente comenzó a agotar su batería muy rápidamente. Al mirar el uso de la batería, veo que "Mediaserver" consume el 60% de la batería con el tiempo, con varios minutos de tiempo de CPU registrado y varias horas de tiempo de Keep Awake. Por lo general, la pantalla, el teléfono inactivo u otros servicios consumen la mayor parte de la duración de la batería.

Intenté cerrar todas las aplicaciones y cargarlas, y efectivamente durante la noche todavía agotó una batería significativa, nuevamente Mediaserver fue el culpable como se informa en la tabla de uso de la batería; había mantenido el dispositivo despierto toda la noche y agotó el 10% de mi batería a pesar de cero uso. No he agregado una gran cantidad de archivos y no estoy reproduciendo música, etc., por lo que Mediaserver no debería estar haciendo mucho en el disco.

¿Cómo puedo evitar que Mediaserver consuma la duración de mi batería de esta manera?

Ben Brocka
fuente

Respuestas:

7

Eliminar todas las aplicaciones en ejecución no resolvió el problema, ni deshabilitó la sincronización automática para elementos de la cuenta de Google como videos / fotos (que escuché sugirió un problema de batería similar).

Lo que funcionó fue simplemente reiniciar el dispositivo manteniendo presionado el botón de encendido y apagando. Después de reiniciar Mediaserver ya no parece usar gran parte de mi batería en la tabla de uso y mi carga dura como siempre. Entonces, si tiene el mismo problema, simplemente reinicie.

Ben Brocka
fuente
1
Divertido, eso era exactamente lo que quería recomendar. Es la única forma de deshacerse de los "bloqueos de wakelock" que conozco (esos casos ocurren cuando las aplicaciones solicitan un wakelock y se olvidan de liberarlo más adelante).
Izzy
@Izzy eso debe haber sido lo que sucedió. Técnicamente no estoy seguro de lo que sucedió, pero quería compartir la solución en caso de que sea un problema común en 4.2.1 o algo así.
Ben Brocka
Eso es algo común a la mayoría de las versiones de Android (no especialmente con el servidor de medios, pero con muchos servicios). Además, las aplicaciones mal diseñadas se suman a esto. Para más detalles, puede consultar la pregunta ¿Cómo lidiar con WakeLocks (huérfanos)? y sus respuestas
Izzy
Reiniciar, reiniciar, reiniciar. ¿Hay alguna manera menos molesta de resolver esto? Odio reiniciar. ¿No puedo simplemente matar a ese servidor de medios?
neverMind9
6

El proceso Mediaserver escanea su dispositivo en busca de archivos multimedia para agregar a su biblioteca. Sin embargo, la versión de gapps 2012/12/12 (quizás algunos más) se rompe y se atasca en un bucle infinito en archivos desconocidos en su teléfono. Esto se traduce directamente en el agotamiento de la batería y es malo para la vida útil de la batería y otros componentes del teléfono. Cuando ejecuta su teléfono por primera vez o cuando inicia aplicaciones de medios, se invoca el Mediaserver y comenzará el horror.

Como arreglar:

  • Reinicie el teléfono y no inicie una aplicación de medios.
  • Coloque un .nomediaarchivo en la raíz de su tarjeta SD para evitar la búsqueda en la biblioteca, evitando que se atasque Mediaserver. Esto significa que no hay biblioteca de medios!
  • Espera a que el glorioso Google solucione esta anomalía.
  • Reduzca la versión de su firmware de Android + gapps a una versión que carece de este error.
  • Use un iPhone / Windows Phone
  • Modifique los gapps (Mediaserver.apk) para admitir todo tipo de archivos normalmente. (avanzado + lento)
TomHashNL
fuente
2
Voto negativo por recomendar iPhone / Windows Phone. Por cierto, eso no es una solución, el error seguirá ahí.
Jorge Fuentes González
El archivo .nomedia en la carpeta raíz no funciona. En un Nexus 7 con Android 4.3. No hay una tarjeta SD física, pero puse el archivo .nomedia en la raíz de la carpeta SDCard, y no ha detenido la ejecución de mediacanner. ¿Supongo que se supone que debe aplicarse de forma recursiva y no necesita colocarse en cada subcarpeta? ¿Debería colocar una incluso más alta que la SDCard, como en la raíz del sistema, tal vez?
The111
2

Creo que he descubierto la causa y una solución improvisada para este error, al menos una que (finalmente) funciona para mí, y que no he visto mencionada a menudo en otros lugares.

En mi tableta (Nexus 7 2nd gen), había visto el error del servidor de medios muy a menudo y prácticamente había dejado de intentar resolverlo.

Sin embargo, en mi teléfono (I9505G, también conocido como SGS4 GPe), no había visto el error una vez. Ambos dispositivos ejecutaban 100% stock Android 4.3. Entonces, un día, noté que el error también estaba en su fea cabeza. No había copiado CUALQUIER archivo nuevo al dispositivo recientemente, por lo que arrojó cualquier teoría sobre "archivos multimedia corruptos" por la ventana. Me arranqué el cerebro y me di cuenta de que lo único que había hecho de manera diferente en las últimas 24 horas era jugar un juego (Rayman Jungle Run) en el teléfono, que generalmente solo uso para llamadas, correos electrónicos y libros electrónicos. Sin embargo, en mi tableta, juego Rayman Jungle Run a menudo.

Entonces, acabo de ejecutar esta secuencia de pruebas tanto en mi teléfono como en mi tableta, con los mismos resultados.

  • Carga completa. Nueva bota. Corre por varias horas. RESULTADO: No hay drenaje del servidor de medios.
  • Inicia Rayman, juega durante 1 minuto. Regrese a la pantalla de inicio pero no fuerce el cierre de la aplicación. Espera un momento RESULTADO: Comienza el drenaje de Mediaserver.
  • Forzar el cierre de la aplicación Rayman (utilicé un atajo de Elixir para hacer esto, pero usar el menú de aplicaciones debería funcionar bien). Espera un par de horas. RESULTADO: ¡Se ha detenido el drenaje de Mediaserver!

Hice muchas búsquedas en la web y solo encontré otra referencia a un fenómeno similar, y esa publicación hacía referencia al juego de Rayman, así como a otro juego llamado Super Hexagon o algo así. La lección aparente aquí es que ciertas aplicaciones tienen la capacidad de activar el error del servidor de medios. Al menos en mi caso, no tiene nada que ver con los archivos multimedia que tengo en el dispositivo o con los servicios de Google que permito / evito que se ejecuten (estas son dos cosas que veo citadas con frecuencia como supuestas soluciones).

También hipotetizaría que si tiene una aplicación que desencadena el drenaje del servidor de medios, y esta aplicación se ejecuta automáticamente al inicio o en cualquier intervalo de tiempo periódico, entonces la única solución segura en ese caso sería desinstalar la aplicación, desafortunadamente. Esto podría explicar por qué algunas personas no encuentran que el reinicio ayude ... si la aplicación ofensiva se ejecuta en el inicio, por supuesto, el drenaje también comenzará de inmediato.

El111
fuente
Esto mismo me pasó anoche. Rayman Fiesta Run, salió con el botón de inicio, perdió el 40% de la batería durante la noche en el servidor de medios. ¡Gracias por esto!
RossC
@RossC Impresionante, me alegro de que te haya ayudado. Acabo de instalar Fiesta Run también y me decepcionó ver que todavía no han solucionado este error (no estoy seguro de si el sistema operativo o la aplicación tienen la culpa, pero sé que la aplicación podría solucionarlo obligándose a cerrar o al menos incluyendo un opción). Me olvido de matar la aplicación después de jugar una sesión y recuerdo horas después cuando veo cuán baja está mi batería.
The111
1

Tuve el mismo problema con Android 4.1.2. tableta. Intenté todo lo encontrado en varios foros, y el resultado fue que nada funcionó. Mediaserver siguió agotando mi batería. Intuitivamente, probé dos cosas: 1. Tarjeta SD desmontada donde guardo todo tipo de archivos multimedia. 2. Se eliminaron las IMÁGENES descargadas de la carpeta "descargar".

Resultado = problema RESUELTO.

Luego volvió a montar la tarjeta SD: ¡la duración de la batería sigue siendo normal!

Conclusión: el sangriento servidor de medios sigue escaneando las imágenes descargadas y agota la batería.

¡La simplicidad es siempre la respuesta!

gaviota26mk
fuente
1

Simplemente elimine el proceso del servidor de medios. Creé un acceso directo que ejecuta una línea de comando y lo mata

kill pidof /system/bin/mediaserver

o en otros dispositivos,

kill mediaserver 
klaudyuxxx
fuente
0

Para mí, reiniciar el Nexus 4 varias veces no ayudó. La primera vez que comencé a usar el teléfono móvil, inicié sesión sin la cuenta de Google. Entonces, restablecí los valores de fábrica y me aseguré de iniciar sesión con la cuenta de Google. Esto parece haber solucionado el problema.

viña
fuente