{"id":1320,"date":"2013-02-03T14:50:24","date_gmt":"2013-02-03T13:50:24","guid":{"rendered":"http:\/\/www.daniel-ritter.de\/blog\/?p=1320"},"modified":"2024-05-13T01:13:18","modified_gmt":"2024-05-12T23:13:18","slug":"hoher-akkuverbrauch-bei-android-surfaceflinger-und-mediaserver-verursachen-eine-hohe-cpu-last","status":"publish","type":"post","link":"https:\/\/www.daniel-ritter.de\/blog\/hoher-akkuverbrauch-bei-android-surfaceflinger-und-mediaserver-verursachen-eine-hohe-cpu-last\/","title":{"rendered":"Hoher Akkuverbrauch bei Android: surfaceflinger und mediaserver verursachen eine hohe CPU-Last"},"content":{"rendered":"<p>Auf meinem ewigen Quest <a href=\"https:\/\/www.daniel-ritter.de\/blog\/13-tricks-um-den-android-akku-zu-schonen-fur-eine-bessere-batterie-laufzeit\" target=\"_blank\" rel=\"noopener\">die Akkulaufzeit meiner Androidger\u00e4te m\u00f6glichst gut zu optimieren<\/a>, bin ich seit einer Zeit immer wieder \u00fcber zwei Systemprozesse gestolpert, die ohne ersichtlichen Grund an meiner Batterielaufzeit genagt haben: surfaceflinger und mediaserver.<\/p>\n<p><a href=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2013\/02\/Screenshot_2013-02-03-14-14-29.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2013\/02\/Screenshot_2013-02-03-14-14-29.png\" alt=\"Screenshot_2013-02-03-14-14-29\" width=\"320\" height=\"480\" class=\"alignnone size-full wp-image-1321\" srcset=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2013\/02\/Screenshot_2013-02-03-14-14-29.png 320w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2013\/02\/Screenshot_2013-02-03-14-14-29-200x300.png 200w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a><\/p>\n<p><strong>1. surfaceflinger<\/strong><\/p>\n<p>surfaceflinger managed den Android-Framebuffer. Dieser wird im Endeffekt ben\u00f6tig um Ausgaben auf dem Bildschirm auszugeben. Leider scheint surfaceflinger seit einigen Androidversionen im Zusammenspiel mit bestimmten Roms fehlerhaft zu sein.<\/p>\n<p>Ein wenig Recherche im Internet brachte mich auf eine funktionierende L\u00f6sung: Wenn man Einstellungen -> Display -> &#8222;Display automatisch drehen&#8220; deaktiviert, verh\u00e4lt sich surfaceflinger sofort wieder normal. Da ich ein Smartphone mit ausschiebbarer Tastatur habe, ben\u00f6tige ich die automatische Drehung nicht wirklich. Ich kann den Screen manuell durch das \u00d6ffnen der Tastatur drehen. Androidnutzer ohne Tastatur m\u00fcssen wohl zur Zeit auf ein Widget zum Drehen des Bildschirmes zur\u00fcckgreifen oder mit der Energieverschwendung leben.<\/p>\n<p><strong>2. mediaserver<\/strong><\/p>\n<p>mediaserver war bei mir Stromfresser Nummer 2. Der Prozess k\u00fcmmert sich um das Bereitstellen von Medien f\u00fcr verschiedene Applikationen und um den Mediascan der SD-Karte. Dieser ist bei mir nach jedem Reboot aber auch unnachvollziehbar im laufenden Betrieb angesprungen. Er frisst sehr viel Batterie, verlangsamt das Telefon stark und ist in meinem Fall unn\u00fctz, da er lediglich Bilder und Musikdateien f\u00fcr die internen Android-Applikationen bereitstellt (Galerie, Mediaplayer). Ich nutze als Bildbetrachter &#8222;Quickpic&#8220; und als Musikplayer &#8222;Poweramp&#8220;. Beide bringen ihre eigenen Sacnroutinen mit, deshalb konnte ich die Scanfunktion des Mediaservers ohne Probleme abschalten.<\/p>\n<pre>\r\nsu\r\npm disable com.android.providers.media\/com.android.providers.media.MediaScannerReceiver\r\n<\/pre>\n<p>Danach werden interne Androidapps nicht mehr \u00fcber neue Medien informiert und der Scanner l\u00e4uft gar nicht mehr.<br \/>\nUm ihn wieder zu aktivieren f\u00fchrt man ein<\/p>\n<pre>\r\nsu\r\npm enable com.android.providers.media\/com.android.providers.media.MediaScannerReceiver\r\n<\/pre>\n<p>im lokalen Android Terminal aus (zum Beispiel mit der App ConnectBot)<\/p>\n<p><strong>Fazit:<\/strong><br \/>\nDurch das B\u00e4ndigen der beiden Prozesse im Zusammenspiel mit den Ver\u00e4ndeurngen aus dem oben verlinkten \u00e4lteren Blogartikel von mir komme ich wieder auf angenehme 1,5% &#8211; 2,0% Akkuverbrauch pro Stunde.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auf meinem ewigen Quest die Akkulaufzeit meiner Androidger\u00e4te m\u00f6glichst gut zu optimieren, bin ich seit einer Zeit immer wieder \u00fcber zwei Systemprozesse gestolpert, die ohne ersichtlichen Grund an meiner Batterielaufzeit genagt haben: surfaceflinger und mediaserver. 1. surfaceflinger surfaceflinger managed den Android-Framebuffer. Dieser wird im Endeffekt ben\u00f6tig um Ausgaben auf dem Bildschirm auszugeben. Leider scheint surfaceflinger [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[228],"tags":[171,40,179,178,180,177],"class_list":["post-1320","post","type-post","status-publish","format-standard","hentry","category-android","tag-batterie","tag-cpu","tag-high","tag-mediaserver","tag-performance","tag-surfaceflinger"],"_links":{"self":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/comments?post=1320"}],"version-history":[{"count":7,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1320\/revisions"}],"predecessor-version":[{"id":1916,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1320\/revisions\/1916"}],"wp:attachment":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/media?parent=1320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/categories?post=1320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/tags?post=1320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}