Медиасервер использует чрезмерное время процессора и батарею

17

У меня Nexus 4 на ОС версии 4.2.1, которая внезапно начала очень быстро разряжать батарею. Когда я смотрю на использование батареи, я вижу, что «Медиасервер» потребляет 60% батареи с течением времени, с несколькими зарегистрированными минутами процессорного времени и несколькими часами времени Keep Awake. Обычно экран, простаивающий телефон или другие сервисы расходуют большую часть времени работы от батареи.

Я попытался закрыть все приложения и зарядить его, и, разумеется, достаточно быстро он разрядил значительную батарею, опять же, Mediaserver был виновником, как указано в таблице использования батареи; устройство не спало всю ночь и разряжало 10% батареи, несмотря на нулевую нагрузку. Я не добавил большое количество файлов, и я не играю музыку и т. Д., Поэтому Mediaserver не следует слишком много делать на диске.

Как я могу помешать Mediaserver съесть мою батарею, как это?

Бен Брока
источник

Ответы:

7

Убийство всех запущенных приложений не решило проблему, равно как и отключение автоматической синхронизации элементов аккаунта Google, таких как видео / фотографии (которые, как я слышал, предлагались для аналогичной проблемы с батареей).

Что же работа была просто перезагрузить устройство, удерживая кнопку питания и выбора закрыли. После перезагрузки Mediaserver больше не использует большую часть моей батареи в таблице использования, и мой заряд длится, как всегда. Так что, если вы получаете ту же проблему, просто перезагрузите компьютер.

Бен Брока
источник
1
Забавно - это именно то, что я просто хотел порекомендовать. Это единственный способ избавиться от «залипания вейк-шоков», о котором я знаю (в тех случаях, когда приложения запрашивают wakelock и забывают его позже разблокировать).
Иззи
@ Иззи, должно быть, так и случилось. Технически я не уверен, что случилось, но хотел поделиться решением в случае, если это общая проблема на 4.2.1 или что-то.
Бен Брока
Это что-то общее для большинства / всех версий Android (не особенно с медиасервером, но со многими сервисами). Кроме того, плохо разработанные приложения добавляют к этому. Для более подробной информации, вы можете посмотреть на вопрос Как бороться с (осиротевшими) WakeLocks? и его ответы.
Иззи
Перезагрузка, перезагрузка, перезагрузка. Есть ли менее раздражающий способ решить эту проблему? Я ненавижу перезагрузку. Разве я не могу просто убить этот медиасервер?
neverMind9
6

Процесс Mediaserver сканирует ваше устройство на наличие файлов мультимедиа для добавления в вашу библиотеку. Тем не менее, версия gapps 2012/12/12 (возможно, еще немного) не работает и зацикливается на незнакомых файлах на вашем телефоне. Это напрямую приводит к разрядке аккумулятора и отрицательно сказывается на сроке службы аккумулятора и других компонентов телефона. При первом запуске вашего телефона или при запуске мультимедийных приложений, Mediaserver вызывается и начинает ужас.

Как исправить:

  • Перезагрузите телефон и не запускайте мультимедийное приложение.
  • Поместите .nomediaфайл в корень вашей SD-карты, чтобы предотвратить поиск в библиотеке, тем самым предотвращая застревание Mediaserver. Это означает, что нет медиа-библиотеки!
  • Подождите, пока славный Google исправит эту аномалию.
  • Понизьте версию прошивки Android + gapps до версии, в которой отсутствует эта ошибка.
  • Используйте iPhone / Windows Phone
  • Измените gapps (Mediaserver.apk), чтобы нормально поддерживать все виды файлов. (продвинутый + много времени)
TomHashNL
источник
2
Downvote из-за рекомендации iPhone / Windows Phone. Кстати, это не исправление, ошибка все еще будет там.
Хорхе Фуэнтес Гонсалес
Файл .nomedia в корневой папке не работает. На Nexus 7 с Android 4.3. Физической SD-карты нет, но я поместил файл .nomedia в корневой каталог SDCard, и он не остановил запуск mediascanner. Я предполагаю, что это должно быть применено рекурсивно и не должно быть помещено в каждую подпапку? Должен ли я поставить один даже выше, чем SDCard, как, например, в системном корне?
The111
2

Я думаю, что я, возможно, выяснил причину и временное решение для этой ошибки, по крайней мере одну, которая (наконец) работает для меня, и которую я не видел, упоминал часто в другом месте.

На своем планшете (Nexus 7 2nd gen) я очень часто видел ошибку медиасервера и практически перестал пытаться ее решить.

Однако на моем телефоне (I9505G, также известном как SGS4 GPe) я ни разу не видел эту ошибку. Оба устройства работали на 100% на складе Android 4.3. И вот однажды я заметил, что на моем телефоне тоже появляется ужасная голова. Я не копировал ЛЮБЫЕ новые файлы на устройство в последнее время, поэтому я выбросил любые теории о «поврежденных медиа-файлах» в окно. Я ломал голову и понимал, что единственное, что я сделал по-другому за последние 24 часа, это игра в игру (Rayman Jungle Run) на телефоне, которую я обычно использую только для звонков, электронных писем и электронных книг. Однако на своем планшете я часто играю в Rayman Jungle Run.

Итак, я только что выполнил эту последовательность тестов на телефоне и планшете с одинаковыми результатами.

  • Полный заряд. Свежий ботинок. Бежать несколько часов. РЕЗУЛЬТАТ: Нет утечки медиа-сервера.
  • Запустите Rayman, играйте 1 минуту. Вернитесь на главный экран, но не закрывайте приложение принудительно. Подожди немного. РЕЗУЛЬТАТ: начинается утечка медиа-сервера.
  • Принудительно закройте приложение Rayman (для этого я использовал ярлык Elixir, но использование меню приложений должно работать нормально). Подожди пару часов. РЕЗУЛЬТАТ: утечка медиасервера остановлена!

Я провел много поисков в сети и нашел только одну ссылку на подобное явление, и в этом посте упоминалась игра Rayman, а также другая игра под названием Super Hexagon или что-то в этом роде. Очевидным уроком здесь является то, что некоторые приложения могут вызывать ошибку медиасервера. По крайней мере, в моем случае это никак не связано с тем, какие медиафайлы у меня есть на устройстве, или какие сервисы Google я разрешаю / запрещаю запускать (эти две вещи я часто называю предполагаемыми решениями).

Я также предположил бы, что если у вас есть приложение, которое запускает утечку медиа-сервера, и это приложение запускается автоматически при запуске или через любые периодические промежутки времени, то единственным надежным решением в этом случае будет, к сожалению, удаление приложения. Это может объяснить, почему некоторые люди не находят, что перезагрузка помогает ... если приложение, запускающее работу, запускается при запуске, конечно, утечка начнется сразу же.

The111
источник
Именно это случилось со мной прошлой ночью. Rayman Fiesta Run с выходом из режима «Домой» разрядила 40% заряда аккумулятора за ночь на медиа-сервере. Спасибо за это!
RossC
@RossC Отлично, рад, что это помогло тебе. Я только что установил Fiesta Run и был разочарован, увидев, что они до сих пор не исправили эту ошибку (не уверен, что ОС или приложение виноваты, но я знаю, что приложение может это исправить, заставив себя закрыться или, по крайней мере, включить опция). Я продолжаю забывать убивать приложение после воспроизведения сеанса и вспоминаю часы спустя, когда вижу, как разряжается моя батарея.
The111
1

У меня была та же проблема с Android 4.1.2. таблетки. Перепробовал все найденное на нескольких форумах, и результат был - ничего не получалось. Медиасервер продолжал разряжать мою батарею. Интуитивно я попробовал две вещи: 1. Размонтированную SD-карту, где я храню все виды медиа-файлов. 2. Удалил скачанные ФОТОГРАФИИ из папки «скачать».

Результат = проблема решена.

Затем перемонтировал SD-карту - время автономной работы по-прежнему нормальное!

Вывод: кровавый медиасервер продолжает сканировать загруженные картинки и разряжает батарею.

Простота - это всегда ответ!

seagull26mk
источник
1

Просто убейте процесс медиа-сервера. Я создал ярлык, который запускает командную строку и убивает ее

kill pidof /system/bin/mediaserver

или на других устройствах,

kill mediaserver 
klaudyuxxx
источник
0

Для меня перезагрузка Nexus 4 несколько раз не помогла. Когда я впервые начал пользоваться мобильным телефоном, я вошел без учетной записи Google. Итак, я сделал сброс настроек и удостоверился, что вошел в систему с учетной записью Google. Кажется, это решило проблему.

vine'th
источник