Serwer multimediów używa nadmiernego czasu procesora i baterii

17

Mam Nexusa 4 w wersji OS 4.2.1, który nagle zaczął bardzo szybko rozładowywać baterię. Kiedy patrzę na zużycie baterii, widzę, że „Mediaserver” zjada 60% baterii w czasie, z zalogowanymi kilkoma minutami czasu procesora i kilkoma godzinami czuwania. Zwykle ekran, telefon w stanie bezczynności lub inne usługi pochłaniają większość czasu pracy baterii.

Próbowałem zamknąć wszystkie aplikacje i naładować je, i na pewno przez noc nadal wyczerpałem znaczną baterię, ponownie Mediaserver był winowajcą, jak podano w tabeli zużycia baterii; utrzymywał urządzenie w stanie czuwania przez całą noc i wyczerpał 10% mojej baterii pomimo zerowego zużycia. Nie dodałem dużej liczby plików i nie odtwarzam muzyki / etc, więc Mediaserver nie powinien robić zbyt wiele na dysku.

Jak mogę powstrzymać Mediaserver przed zużywaniem mojej żywotności baterii w ten sposób?

Ben Brocka
źródło

Odpowiedzi:

7

Zabicie wszystkich uruchomionych aplikacji nie rozwiązało problemu, ani nie wyłączyło automatycznej synchronizacji elementów konta Google, takich jak filmy / zdjęcia (co słyszałem sugerowane dla podobnego problemu z baterią).

Co zrobił praca była po prostu ponowne uruchomienie urządzenia przez przytrzymanie przycisku zasilania i zbierając zamknięty. Po ponownym uruchomieniu Mediaserver nie wydaje się już zużywać dużej części mojej baterii w tabeli użycia, a moje ładowanie trwa jak zawsze. Więc jeśli pojawi się ten sam problem, po prostu uruchom ponownie.

Ben Brocka
źródło
1
Zabawne - właśnie to chciałem polecić. Jest to jedyny znany mi sposób na pozbycie się „blokujących wakelocków” (takie przypadki zdarzają się, gdy aplikacje żądają wakelocków i zapominają je później zwolnić).
Izzy
@ Izyzy to musiało się stać. Technicznie nie jestem pewien, co się stało, ale chciałem podzielić się rozwiązaniem na wypadek, gdyby był to częsty problem w wersji 4.2.1 lub coś takiego.
Ben Brocka,
Jest to coś powszechnego w większości / wszystkich wersjach Androida (nie szczególnie z serwerem multimediów, ale z wieloma usługami). Do tego dochodzą źle zaprojektowane aplikacje. Aby uzyskać szczegółowe informacje, możesz zapoznać się z pytaniem Jak postępować z (osieroconym) WakeLocks? i jego odpowiedzi.
Izzy
Uruchom ponownie, uruchom ponownie, uruchom ponownie. Czy istnieje mniej denerwujący sposób na rozwiązanie tego problemu? Nienawidzę restartu. Czy nie mogę po prostu zabić tego serwera multimediów?
neverMind9,
6

Proces Mediaserver skanuje urządzenie w poszukiwaniu plików multimedialnych, które można dodać do biblioteki. Jednak wersja 2012/12/12 (być może więcej) wersji Gapps jest zepsuta i utknęła w nieskończonej pętli na nieznanych plikach w telefonie. To bezpośrednio przekłada się na zużycie baterii i jest niekorzystne dla żywotności baterii i innych elementów telefonu. Przy pierwszym uruchomieniu telefonu lub uruchamianiu aplikacji multimedialnych wywoływany jest serwer multimediów, który rozpoczyna horror.

Jak naprawić:

  • Uruchom ponownie telefon i nie uruchamiaj aplikacji multimedialnej.
  • Umieść .nomediaplik w katalogu głównym karty SD, aby zapobiec przeszukiwaniu biblioteki, a tym samym zablokować Mediaserver. Oznacza to brak biblioteki multimediów!
  • Poczekaj, aż chwalebny Google naprawi tę anomalię.
  • Zmień wersję oprogramowania Android + gapps na wersję, w której nie ma tego błędu.
  • Użyj telefonu iPhone / Windows Phone
  • Zmodyfikuj pliki gapps (Mediaserver.apk), aby normalnie obsługiwały wszystkie rodzaje plików. (zaawansowane + czasochłonne)
TomHashNL
źródło
2
Przegłosuj z powodu polecania iPhone'a / Windows Phone. Przy okazji, to nie jest poprawka, błąd nadal będzie występował.
Jorge Fuentes González
Plik .nomedia w folderze głównym nie działa. Na Nexusie 7 z Androidem 4.3. Nie ma fizycznej karty SD, ale umieściłem plik .nomedia w katalogu głównym folderu SDCard i nie zatrzymał on działania mediascannera. Zakładam, że należy go stosować rekurencyjnie i nie trzeba go umieszczać w każdym podfolderze? Czy powinienem umieścić kartę wyższą niż SDCard, na przykład w katalogu głównym systemu?
The111
2

Myślę, że mogłem ustalić przyczynę i prowizoryczne rozwiązanie tego błędu, przynajmniej takiego, który (w końcu) działa dla mnie i o którym często nie wspominałem.

Na moim tablecie (Nexus 7 2nd gen) bardzo często widziałem błąd serwera multimediów i praktycznie zrezygnowałem z prób jego rozwiązania.

Jednak na moim telefonie (I9505G aka SGS4 GPe) nie widziałem błędu ani razu. Oba urządzenia działały w 100% z systemem Android 4.3. Pewnego dnia zauważyłem, że błąd wyrzuca też brzydką głowę na mój telefon. Ostatnio nie kopiowałem ŻADNYCH nowych plików na urządzenie, więc wyrzuciłem teorie na temat „uszkodzonych plików multimedialnych” przez okno. Założyłem mózg i zdałem sobie sprawę, że jedyną rzeczą, którą zrobiłem inaczej w ciągu ostatnich 24 godzin, było granie w grę (Rayman Jungle Run) na telefonie, której zwykle używam tylko do połączeń, e-maili i e-książek. Jednak na moim tablecie często gram w Rayman Jungle Run.

Właśnie uruchomiłem tę sekwencję testów na moim telefonie i tablecie, z tymi samymi wynikami.

  • Pełna opłata Świeży bagażnik. Uruchom przez kilka godzin. WYNIK: Brak drenażu serwera mediów.
  • Uruchom Raymana, graj przez 1 minutę. Wróć do ekranu głównego, ale nie wymuszaj zamykania aplikacji. Poczekaj chwilę. WYNIK: Rozpoczyna się drenaż serwera multimediów.
  • Wymuś zamknięcie aplikacji Rayman (użyłem do tego skrótu Elixir, ale korzystanie z menu aplikacji powinno działać dobrze). Poczekaj kilka godzin. WYNIK: Opróżnianie serwera multimediów zostało zatrzymane!

Przeprowadziłem wiele wyszukiwań w Internecie i znalazłem tylko jedno odniesienie do podobnego zjawiska, a ten post odnosił się do gry Rayman, a także innej gry o nazwie Super Hexagon lub coś w tym rodzaju. Widoczna lekcja tutaj polega na tym, że niektóre aplikacje mają zdolność wyzwalania błędu serwera multimediów. Przynajmniej w moim przypadku nie ma to nic wspólnego z tym, jakie pliki multimedialne mam na urządzeniu lub jakie usługi Google zezwalam / uniemożliwiam ich uruchomienie (są to rzeczy, które często wymieniam jako rzekome rozwiązania).

Chciałbym również postawić hipotezę, że jeśli masz aplikację, która uruchamia drenaż serwera multimediów, a ta aplikacja uruchamia się automatycznie przy starcie lub w dowolnych okresowych odstępach czasu, to jedynym pewnym rozwiązaniem w takim przypadku byłoby niestety odinstalowanie aplikacji. To może wyjaśniać, dlaczego niektórzy ludzie nie uważają, że ponowne uruchomienie pomaga ... jeśli obraźliwa aplikacja działa podczas uruchamiania, oczywiście drenaż rozpocznie się również od razu.

The111
źródło
To samo zdarzyło się zeszłej nocy. Rayman Fiesta Run, wyszedł z przycisku home, stracił 40% baterii z dnia na dzień na serwer mediów. Dzięki za to!
RossC
@RossC Awesome, cieszę się, że ci pomogło. Właśnie zainstalowałem Fiesta Run i byłem rozczarowany, widząc, że nadal nie naprawili tego błędu (nie jestem pewien, czy system operacyjny lub aplikacja jest winna, ale wiem, że aplikacja może to naprawić, zmuszając się do zamknięcia lub przynajmniej włączenia opcja). Ciągle zapominam o zabiciu aplikacji po sesji i pamiętam godziny później, kiedy widzę, jak niski jest poziom naładowania mojej baterii.
The111
1

Miałem ten sam problem z Androidem 4.1.2. tablet. Próbowałem wszystkiego znalezionego na kilku forach, a wynik był taki - nic nie działało. Serwer multimediów wciąż rozładowuje moją baterię. Intuicyjnie próbowałem dwóch rzeczy: 1. Odmontowana karta SD, w której przechowuję różnego rodzaju pliki multimedialne. 2. Usunięto pobrane ZDJĘCIA z folderu „pobierz”.

Wynik = problem rozwiązany.

Następnie ponownie zamontowałem kartę SD - żywotność baterii nadal jest normalna!

Wniosek: krwawy serwer multimediów skanuje pobrane zdjęcia i rozładowuje baterię.

Prostota jest zawsze odpowiedzią!

seagull26mk
źródło
1

Po prostu zabij proces serwera mediów. Stworzyłem skrót, który uruchamia wiersz poleceń i zabija go

kill pidof /system/bin/mediaserver

lub na innych urządzeniach,

kill mediaserver 
klaudyuxxx
źródło
0

Dla mnie kilkakrotne ponowne uruchomienie Nexusa 4 nie pomogło. Gdy pierwszy raz zacząłem używać telefonu komórkowego, zalogowałem się bez konta Google. Przywróciłem ustawienia fabryczne i upewniłem się, że zalogowałem się na konto Google. Wydaje się, że to rozwiązało problem.

winorośl
źródło