Mediaserver utilisant un temps CPU et une batterie excessifs

17

J'ai un Nexus 4 sur OS version 4.2.1 qui a soudainement commencé à vider sa batterie très rapidement. Lorsque je regarde l'utilisation de la batterie, je vois "Mediaserver" manger 60% de la batterie au fil du temps, avec plusieurs minutes de temps CPU consigné et plusieurs heures de temps Keep Awake. Généralement, l'écran, le téléphone inactif ou d'autres services consomment la majorité de la durée de vie de la batterie.

J'ai essayé de fermer toutes les applications et de la recharger, et bien sûr pendant la nuit, elle a encore épuisé la batterie, encore une fois, Mediaserver était le coupable, comme indiqué dans le tableau d'utilisation de la batterie; il avait gardé l'appareil éveillé toute la nuit et déchargé 10% de ma batterie malgré une utilisation nulle. Je n'ai pas ajouté un grand nombre de fichiers et je ne joue pas de musique / etc donc Mediaserver ne devrait pas faire grand chose sur le disque.

Comment puis-je empêcher Mediaserver de manger ma batterie comme ça?

Ben Brocka
la source

Réponses:

7

Tuer toutes les applications en cours d'exécution n'a pas résolu le problème, ni désactivé la synchronisation automatique pour les éléments de compte Google comme les vidéos / photos (ce que j'ai entendu suggérer pour un problème de batterie similaire).

Ce qui a fonctionné était simplement de redémarrer l'appareil en maintenant le bouton d'alimentation et en arrêtant la cueillette. Après le redémarrage, Mediaserver ne semble plus utiliser une grande partie de ma batterie dans le tableau d'utilisation et ma charge dure comme toujours. Donc, si vous rencontrez le même problème, redémarrez simplement.

Ben Brocka
la source
1
Drôle - c'est exactement ce que je voulais juste recommander. C'est le seul moyen de se débarrasser des "wakelocks" que je connais (ces cas se produisent lorsque les applications demandent un wakelock et oublient de le libérer plus tard).
Izzy
@Izzy, ça doit être ce qui s'est passé. Je ne suis pas sûr techniquement de ce qui s'est passé, mais je voulais partager la solution au cas où ce serait un problème courant sur 4.2.1 ou quelque chose du genre.
Ben Brocka
C'est quelque chose de commun à la plupart / toutes les versions d'Android (pas spécialement avec mediaserver, mais avec de nombreux services). De plus, des applications mal conçues s'ajoutent à cela. Pour plus de détails, vous pouvez vous pencher sur la question Comment gérer les WakeLocks (orphelins)? et ses réponses.
Izzy
Redémarrez, redémarrez, redémarrez. Existe-t-il un moyen moins ennuyeux de résoudre ce problème? Je déteste redémarrer. Je ne peux pas simplement tuer ce serveur de médias?
neverMind9
6

Le processus Mediaserver recherche sur votre appareil les fichiers multimédias à ajouter à votre bibliothèque. Cependant, la version 2012/12/12 (peut-être un peu plus) des gapps est cassée et se coince dans une boucle infinie sur des fichiers inconnus sur votre téléphone. Cela se traduit directement par une décharge de la batterie et nuit à la durée de vie de votre batterie et des autres composants du téléphone. Lorsque vous exécutez votre téléphone pour la première fois ou lorsque vous démarrez des applications multimédias, le Mediaserver est invoqué et commence l'horreur.

Comment réparer:

  • Redémarrez le téléphone et ne lancez pas d'application multimédia.
  • Placez un .nomediafichier sur la racine de votre carte SD pour empêcher la recherche dans la bibliothèque, empêchant ainsi Mediaserver de se bloquer. Cela signifie pas de médiathèque!
  • Attendez que le glorieux Google corrige cette anomalie.
  • Rétrogradez votre firmware Android + gapps vers une version qui n'a pas ce bug.
  • Utilisez un iPhone / Windows Phone
  • Modifiez les gapps (Mediaserver.apk) pour prendre en charge toutes sortes de fichiers normalement. (avancé + long)
TomHashNL
la source
2
Votez en raison de la recommandation de l'iPhone / Windows Phone. Btw, ce n'est pas une solution, le bug sera toujours là.
Jorge Fuentes González
Le fichier .nomedia dans le dossier racine ne fonctionne pas. Sur un Nexus 7 avec Android 4.3. Il n'y a pas de carte SD physique mais j'ai mis le fichier .nomedia dans la racine du dossier SDCard, et cela n'a pas empêché mediascanner de fonctionner. Je suppose qu'il est censé être appliqué de manière récursive et n'a pas besoin d'être placé dans chaque sous-dossier? Dois-je en placer une encore plus haute que SDCard, comme dans la racine du système peut-être?
The111
2

Je pense que j'ai peut-être trouvé la cause et une solution de fortune pour ce bogue, au moins un qui (enfin) fonctionne pour moi, et que je n'ai pas vu souvent mentionné ailleurs.

Sur ma tablette (Nexus 7 2e génération), j'avais vu le bogue du serveur multimédia très souvent et j'avais pratiquement renoncé à le résoudre.

Cependant, sur mon téléphone (I9505G alias SGS4 GPe), je n'avais pas vu le bug une seule fois. Les deux appareils fonctionnaient à 100% sur Android 4.3. Puis, un jour, j'ai remarqué que le bug soulevait sa vilaine tête sur mon téléphone. Je n'avais copié AUCUN nouveau fichier sur l'appareil récemment, ce qui a jeté par la fenêtre toutes les théories sur les "fichiers multimédias corrompus". J'ai creusé la tête et j'ai réalisé que la seule chose que j'avais fait différemment au cours des dernières 24 heures était de jouer à un jeu (Rayman Jungle Run) sur le téléphone, que je n'utilise généralement que pour les appels, les e-mails et les livres électroniques. Cependant, sur ma tablette, je joue souvent à Rayman Jungle Run.

Donc, je viens de lancer cette séquence de tests sur mon téléphone et ma tablette, avec les mêmes résultats.

  • Charge complète. Nouvelle botte. Courez pendant plusieurs heures. RÉSULTAT: pas de vidange du serveur média.
  • Lancez Rayman, jouez pendant 1 minute. Revenez à l'écran d'accueil mais ne forcez pas la fermeture de l'application. Attends un peu. RÉSULTAT: le drainage du Mediaserver commence.
  • Forcez la fermeture de l'application Rayman (j'ai utilisé un raccourci Elixir pour ce faire, mais l'utilisation du menu des applications devrait fonctionner correctement). Attendez quelques heures. RÉSULTAT: le vidage du Mediaserver s'est arrêté!

J'ai fait beaucoup de recherches sur le Web et n'ai trouvé qu'une seule autre référence à un phénomène similaire, et ce post faisait référence au jeu Rayman ainsi qu'à un autre jeu appelé Super Hexagon ou quelque chose du genre. La leçon apparente ici est que certaines applications ont la capacité de déclencher le bogue du serveur de médias. Dans mon cas au moins, cela n'a rien à voir avec les fichiers multimédias que j'ai sur l'appareil ou les services Google que j'autorise / empêche d'exécuter (ce sont deux choses que je vois souvent citées comme des solutions supposées).

Je supposerais également que si vous avez une application qui déclenche le drainage du serveur multimédia et que cette application s'exécute automatiquement au démarrage ou à des intervalles de temps périodiques, la seule solution infaillible dans ce cas serait de désinstaller l'application, malheureusement. Cela pourrait expliquer pourquoi certaines personnes ne trouvent pas que le redémarrage aide ... si l'application incriminée s'exécute au démarrage, bien sûr, la vidange commencera également tout de suite.

The111
la source
Cette chose m'est arrivée hier soir. Rayman Fiesta Run, sorti avec le bouton d'accueil, a perdu 40% de la batterie pendant la nuit sur le serveur multimédia. Merci pour cela!
RossC
@RossC Génial, heureux que cela vous ait aidé. Je viens également d'installer Fiesta Run et j'ai été déçu de voir qu'ils n'ont toujours pas corrigé ce bogue (je ne sais pas si le système d'exploitation ou l'application est en faute, mais je sais que l'application pourrait le corriger en se forçant à fermer ou au moins en incluant un option). J'oublie toujours de tuer l'application après avoir joué une session et je me souviens des heures plus tard quand je vois à quel point ma batterie est faible.
Le114
1

J'ai eu le même problème avec Android 4.1.2. tablette. J'ai tout essayé sur plusieurs forums, et le résultat était - rien n'a fonctionné. Mediaserver a continué à vider ma batterie. Intuitivement, j'ai essayé deux choses: 1. Carte SD non montée où je conserve toutes sortes de fichiers multimédias. 2. IMAGES téléchargées supprimées du dossier "télécharger".

Résultat = problème RÉSOLU.

Puis remonté la carte SD - la vie de la batterie est toujours normale!

Conclusion: Bloody MediaServer continue de numériser les images téléchargées et vide la batterie.

La simplicité est toujours la réponse!

mouette26mk
la source
1

Tuez simplement le processus du serveur multimédia. J'ai créé un raccourci qui exécute une ligne de commande et le tue

kill pidof /system/bin/mediaserver

ou sur d'autres appareils,

kill mediaserver 
klaudyuxxx
la source
0

Pour moi, le redémarrage du Nexus 4 à plusieurs reprises n'a pas aidé. La première fois que j'ai commencé à utiliser le téléphone mobile, je me suis connecté sans le compte Google. J'ai donc réinitialisé les paramètres d'usine et vérifié que je me suis connecté avec le compte Google. Cela semble avoir résolu le problème.

vigne
la source