Mediaserver che utilizza un tempo CPU e una batteria eccessivi


17

Ho un Nexus 4 su OS versione 4.2.1 che improvvisamente ha iniziato a scaricare la batteria molto rapidamente. Quando osservo l'utilizzo della batteria, vedo "Mediaserver" che consuma il 60% della batteria nel tempo, con diversi minuti di CPU registrati e diverse ore di Keep Awake. In genere lo schermo, il telefono inattivo o altri servizi consumano la maggior parte della durata della batteria.

Ho provato a chiudere tutte le app e a ricaricarle, e sicuramente durante la notte ha ancora scaricato una batteria significativa, ancora una volta Mediaserver è stato il colpevole, come riportato nella tabella sull'uso della batteria; aveva tenuto il dispositivo sveglio tutta la notte e aveva scaricato il 10% della mia batteria nonostante l'uso zero. Non ho aggiunto un gran numero di file e non sto riproducendo musica / etc, quindi Mediaserver non dovrebbe fare molto sul disco.

Come posso impedire a Mediaserver di consumare in questo modo la durata della batteria?

Risposte:


7

L'uccisione di tutte le app in esecuzione non ha risolto il problema, né la disattivazione della sincronizzazione automatica per gli elementi dell'account Google come video / foto (che ho sentito suggerito per un problema di batteria simile).

Quello che ha funzionato è stato semplicemente riavviare il dispositivo tenendo premuto il pulsante di accensione e selezionando arresto. Dopo il riavvio, Mediaserver non sembra più utilizzare gran parte della mia batteria nella tabella di utilizzo e la mia carica dura come sempre. Quindi, se si riscontra lo stesso problema, basta riavviare.


1
Divertente: era esattamente quello che volevo solo raccomandare. È l'unico modo per sbarazzarsi di "attaccare wakelock" che conosco (quei casi accadono quando le app richiedono un wakelock e dimenticano di rilasciarlo in seguito).
Izzy

@Izzy deve essere stato quello che è successo. Non sono sicuro tecnicamente di cosa sia successo, ma volevo condividere la soluzione nel caso in cui fosse un problema comune su 4.2.1 o qualcosa del genere.
Ben Brocka,

Questo è qualcosa di comune alla maggior parte / tutte le versioni di Android (non in particolare con mediaserver, ma con molti servizi). Inoltre, le app mal progettate si aggiungono a questo. Per i dettagli, potresti esaminare la domanda Come gestire i WakeLock (orfani)? e le sue risposte.
Izzy

Riavvia, riavvia, riavvia. C'è un modo meno fastidioso per risolvere questo? Odio il riavvio. Non posso semplicemente uccidere quel mediaserver?
neverMind9

6

Il processo Mediaserver esegue la scansione del dispositivo alla ricerca di file multimediali da aggiungere alla libreria. Tuttavia, la versione gapps del 2012/12/12 (forse un po 'di più) è rotta e si blocca in un ciclo infinito su file sconosciuti sul telefono. Ciò si traduce direttamente in un consumo della batteria ed è dannoso per la durata della batteria e degli altri componenti del telefono. Quando si esegue il telefono per la prima volta o quando si avviano applicazioni multimediali, viene richiamato il Mediaserver che inizierà l'orrore.

Come risolvere:

  • Riavvia il telefono e non avviare un'applicazione multimediale.
  • Metti un .nomedia file nella radice della scheda SD per impedire la ricerca nella libreria, impedendo così che Mediaserver rimanga bloccato. Ciò significa che nessuna libreria multimediale!
  • Aspetta che il glorioso Google risolva questa anomalia.
  • Esegui il downgrade del tuo firmware Android + gapps a una versione priva di questo bug.
  • Usa un iPhone / Windows Phone
  • Modifica gapps (Mediaserver.apk) per supportare normalmente tutti i tipi di file. (avanzato + che richiede tempo)

2
Downvote a causa della raccomandazione di iPhone / Windows Phone. A proposito, non è una correzione, il bug sarà ancora lì.
Jorge Fuentes González,

Il file .nomedia nella cartella principale non funziona. Su un Nexus 7 con Android 4.3. Non esiste una scheda SD fisica ma ho inserito il file .nomedia nella cartella principale della cartella SDCard e non ha interrotto l'esecuzione di mediascanner. Suppongo che dovrebbe essere applicato in modo ricorsivo e non deve essere inserito in ogni sottocartella? Dovrei posizionarne uno anche più alto della SDCard, come forse nel root di sistema?
The111

2

Penso di aver capito la causa e una soluzione improvvisata per questo bug, almeno uno che (finalmente) funziona per me e che non ho visto menzionato spesso altrove.

Sul mio tablet (Nexus 7 2nd gen), avevo visto il bug mediaserver molto spesso e praticamente avevo rinunciato a cercare di risolverlo.

Tuttavia, sul mio telefono (I9505G aka SGS4 GPe), non avevo visto il bug una volta. Entrambi i dispositivi eseguivano Android 4.3 stock al 100%. Poi un giorno ho notato che il bug ha sollevato la sua brutta testa sul mio telefono. Non avevo copiato NESSUNO nuovo file sul dispositivo di recente, quindi ciò ha gettato fuori dalla finestra le teorie sui "file multimediali corrotti". Mi sono distrutto e mi sono reso conto che l'unica cosa che avevo fatto diversamente nelle ultime 24 ore era giocare un gioco (Rayman Jungle Run) al telefono, che di solito uso solo per chiamate, e-mail ed e-book. Sul mio tablet, tuttavia, gioco spesso a Rayman Jungle Run.

Quindi, ho appena eseguito questa sequenza di test sia sul mio telefono che sul mio tablet, con gli stessi risultati.

  • Carica completa. Stivale fresco. Corri per diverse ore. RISULTATO: nessun drenaggio del mediaserver.
  • Lancia Rayman, gioca per 1 minuto. Torna alla schermata principale ma non forzare la chiusura dell'app. Aspetta un po '. RISULTATO: inizia lo scarico del Mediaserver.
  • Forza la chiusura dell'app Rayman (per fare questo ho usato un collegamento all'elisir, ma l'uso del menu delle app dovrebbe funzionare correttamente). Aspetta un paio d'ore. RISULTATO: il drenaggio del Mediaserver si è interrotto!

Ho fatto molte ricerche sul web e ho trovato solo un altro riferimento a un fenomeno simile, e quel post faceva riferimento al gioco Rayman e ad un altro gioco chiamato Super Hexagon o qualcosa del genere. La lezione apparente qui è che alcune app hanno la capacità di innescare il bug mediaserver. Nel mio caso, almeno, non ha nulla a che fare con quali file multimediali ho sul dispositivo o quali servizi Google consento / impedisco di eseguire (sono entrambe cose che vedo spesso citate come soluzioni supposte).

Vorrei anche ipotizzare che se si dispone di un'app che attiva il drenaggio del mediaserver e questa app si avvia automaticamente all'avvio o a intervalli periodici, l'unica soluzione infallibile in quel caso sarebbe quella di disinstallare l'app, sfortunatamente. Questo potrebbe spiegare perché alcune persone non trovano che il riavvio aiuti ... se l'app offensiva viene eseguita all'avvio, ovviamente anche il drenaggio inizierà immediatamente.


Proprio questa cosa mi è successa la scorsa notte. Rayman Fiesta Run, uscito con il tasto Home, ha perso la batteria del 40% durante la notte sul media server. Grazie per questo!
RossC,

@RossC Fantastico, felice che ti abbia aiutato. Ho appena installato anche Fiesta Run e sono rimasto deluso nel vedere che non hanno ancora corretto questo bug (non sono sicuro che il sistema operativo o l'app sia in errore, ma so che l'app potrebbe risolverlo forzandosi a chiudere o almeno includere un opzione). Continuo a dimenticare di uccidere l'app dopo aver giocato una sessione e ricordo ore dopo quando vedo quanto si sta scaricando la batteria.
The111

1

Ho avuto lo stesso problema con Android 4.1.2. tavoletta. Ho provato tutto ciò che è stato trovato su diversi forum e il risultato è stato: niente ha funzionato. Mediaserver continuava a scaricare la batteria. Intuitivamente, ho provato due cose: 1. Scheda SD non montata dove tengo tutti i tipi di file multimediali. 2. FOTO scaricate eliminate dalla cartella "download".

Risultato = problema RISOLTO.

Quindi rimontato la scheda SD - la durata della batteria è ancora normale!

Conclusione: il sanguinante mediaserver continua a scansionare le immagini scaricate e scarica la batteria.

La semplicità è sempre la risposta!


1

Basta uccidere il processo del media server. Ho creato un collegamento che esegue una riga di comando e la uccide

kill pidof /system/bin/mediaserver

o su altri dispositivi,

kill mediaserver 

0

Per me, riavviare il Nexus 4 diverse volte non ha aiutato. La prima volta che ho iniziato a utilizzare il telefono cellulare, ho effettuato l'accesso senza l'account Google. Quindi, ho effettuato il ripristino delle impostazioni di fabbrica e mi sono assicurato di aver effettuato l'accesso con l'account Google. Questo sembra aver risolto il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.