t3n News Software

Facebook-Apps für iPhone und iPad als Akkukiller [Update]

Facebook-Apps für iPhone und iPad als Akkukiller [Update]

Die Facebook-App saugt bei und den Akku leer – diesen Verdacht jedenfalls hatte t3n-Mitarbeiter Sebastian. Also hat er sich die App etwas genauer angesehen und eine interessante Entdeckung gemacht.

Facebook-Apps für iPhone und iPad als Akkukiller [Update]
Facebook. ©iStockphoto.com/ymgerman

Ich hatte in letzter Zeit immer eine recht kurze Akkulaufzeit mit meinem iPhone 4S. Nach einem Arbeitstag hatte ich meist weniger als zehn Prozent übrig. Und das nach vielleicht zwölf Stunden, in denen ich es nicht wirklich häufig benutzt habe. Also hab ich mich mal auf die Suche nach der Ursache gemacht.

Als iOS-Entwickler war mir Instruments aus Apples Developer-Tools bekannt. Damit kann man in erster Linie seine selbst entwickelten benchmarken und langsame Stellen oder auch Speicherlecks finden. Davon abgesehen kann man sich mit Instruments aber auch einfach die laufenden Prozesse des iPhones anzeigen lassen. Quasi so wie auf dem Mac mit dem Aktivitätsmonitor. Da gibt es dann eine hübsche Übersichtsseite. Dort fiel mir folgendes ins Auge:

AcitivityMonitorCPUTime
Die Prozesse mit der meisten CPU-Zeit.

Das ist eine Übersicht der Prozesse, die am meisten CPU-Zeit gebraucht haben. Im Klartext: die Apps, die am längsten gelaufen sind. Die oberen vier sind Systemprozesse (SpringBoard zeigt zum Beispiel die Homescreens an), ganz unten ist die Facebook-App. Die braucht also mehr als doppelt so lange wie DTMobileIS (das ist der Prozess auf dem iPhone, der Instruments mit den Daten versorgt). Das kam mir doch etwas viel vor. Ich gucke zwar häufig bei rein, aber so häufig dann auch wieder nicht.

Also hab ich das mal etwas länger laufen lassen und hab die Flags in Instruments beobachtet. Die Flags zeigen an, wann eine App gestartet, wann sie beendet wurde und was mich besonders interessierte: wann sie in den Hintergrund geschaltet und wann sie schlafen gelegt wurde.

Um das zu verstehen muss ich ein wenig ausholen: Wenn man eine App startet, dann läuft sie im Vordergrund. Klar. Drückt man nun den Homebutton, wird die App aber nicht beendet (terminiert), sondern nur schlafen gelegt. Schläft eine App, ist sie eingefroren und tut nichts (verbraucht keine CPU-Zeit), sie belegt allerdings Speicher. Das hat den Vorteil, dass sie sofort wieder da ist, wenn man sie wieder startet. Sie muss ja nicht gestartet werden, sondern wird nur schnell aufgetaut. Apps können im eingefrorenen Zustand auch komplett beendet werden (vom System, wenn der Speicher knapp wird, oder vom Benutzer über die Multitasking-Leiste, was aber eigentlich nicht nötig ist).

Seit iOS 4 gibt es nun aber Multitasking. Damit können Apps beim Beenden noch bis zu zehn Minuten im Hintergrund aktiv bleiben. Das ist zum Beispiel praktisch für Apps wie Instacast, die dann im Hintergrund noch die Podcasts zu Ende laden können (früher musste die App dafür dann halt geöffnet bleiben) oder auch für meine App Home Remind, die dann im Hintergrund noch die Erinnerung abschicken kann. Das ist auch nicht weiter schlimm und das System beendet diese Apps spätestens nach zehn Minuten (friert sie ein) oder eben, wenn die App meldet, dass sie fertig ist.

Das nutzen manche Apps natürlich aus. WhatsApp ist zum Beispiel so ein Kandidat. Wenn es vermeintlich beendet ist, läuft es genau diese zehn Minuten im Hintergrund weiter und empfängt dann direkt Nachrichten, anstatt sich diese über Apples Push-Benachrichtigungs-Server schicken zu lassen. Nach diesen zehn Minuten ist zwar Schluss, aber startet man innerhalb dieser Zeit WhatsApp erneut, beginnen sie von neuem.

Es kann also sein, dass WhatsApp durchgehend läuft, wenn man immer innerhalb dieser zehn Minuten eine neue Nachricht bekommt, dann WhatsApp öffnet und wieder schließt. Aber gut, so beliebt werden wohl die Wenigsten von uns sein, dass das wirklich ein Problem wird. Zusätzlich zu diesem Zehn-Minuten-Multitasking gibt es noch vier weitere Multitasking-Methoden. Allen gemein ist, dass sie zeitlich unbegrenzt sind. Und viel wichtiger: Diese werden von den Apps selbst festgelegt, doch dazu gleich mehr.

Diese vier Methoden sind:

  • Audio abspielen: so kann zum Beispiel Spotify im Hintergrund Musik spielen
  • Ortungsdienste nutzen: zum Beispiel für Navigations-Apps
  • Newsstand-Downloads: geht nur bei Newsstand-Apps, also neue Ausgaben im Hintergrund laden
  • VoIP-Nutzung: Apps wie Skype, über die man telefonieren kann, dürfen auch die ganze Zeit laufen und auf Anrufe warten

So, kommen wir nun zu unserem Fall zurück: Facebook. Wie gesagt: Die App legt fest, was sie davon nutzt. Facebook nutzt davon gleich zwei: Audio und VoIP! VoIP, seit man auch über Facebook telefonieren kann, und wofür das Audio, weiß ich selbst nicht (Allerdings wird das schon irgendwie genutzt werden, denn Apple überprüft im Review-Prozess, ob diese Multitasking-Methoden ordnungsgemäß verwendet werden).

Das heißt, die Facebook-App kann prinzipiell die ganze Zeit im Hintergrund aktiv sein. Laut Instruments ist sie das nicht, zumindest nicht die ganze Zeit. Anhand der Flags kann man sehen, dass sie alle paar Minuten kurz aufwacht, etwa zehn Sekunden irgendwas macht und dann wieder schläft.

FacebookFlags

Ich hab das mal zwei Stunden laufen lassen und wie man in der Spalte ganz rechts an den Zeiten erkennen kann, wacht die Facebook-App in schöner Regelmäßigkeit auf, macht ziemlich genau zehn Sekunden etwas und schläft dann wieder. Und das den ganzen Tag lang. Das erklärt, warum sie Spitzenreiter beim CPU-Zeit-Verbrauch ist. Theoretisch könnte sie euch in dieser Zeit auch orten und das an Facebook schicken, allerdings habe ich dafür keine Indizien gefunden, also macht Facebook das wohl nicht.

Jetzt habe ich nach einer Einstellung gesucht, mit der man Facebook dieses Hintergrundleben abgewöhnen kann. Da dachte ich: Man kann doch den Chat innerhalb der App deaktivieren. Vielleicht läuft die App ja nur dauernd, weil sie auf Anrufe wartet. Hier das Ergebnis mit deaktiviertem Chat:

Chat aus

Wie man sieht, macht das überhaupt keinen Unterschied. Abgesehen davon hab ich keine weitere Einstellung gefunden, die daran irgendwas ändert.

Es gibt daher wohl nur zwei Lösungen zu diesem Problem: 1.: Facebook-App löschen oder 2.: die Facebook-App nach jeder Benutzung über die Multitasking-Leiste beenden (Home-Button doppelt schnell hintereinander drücken, dann erscheint unten eine Leiste, dort dann länger auf ein Symbol drücken bis sie anfangen zu wackeln und dann die Facebook-App mit dem kleinen Minus beenden). Jetzt ist sie wirklich beendet und wird auch nicht von allein gestartet. Vergisst man das Beenden natürlich einmal, läuft sie wieder wie gehabt im Hintergrund.

Ich halte mich momentan an Methode 2. Seitdem taucht die Facebook-App in der Liste der größten CPU-Zeit-Verbraucher nicht mehr auf und mein Akku hält wieder länger. Besser wäre es natürlich, wenn Facebook das in der App ändert. Ich sehe überhaupt keine Veranlassung, warum die alle paar Minuten laufen müsste. Probiert das doch mal bei euch aus und schreibt in die Kommentare, ob eure Akkulaufzeit davon irgendwie profitiert.

P.S.: Habe das auf zwei verschiedenen iPhones getestet, tritt also nicht nur auf meinem iPhone auf.

[Update 30. Mai 2013] Ich habe das jetzt nochmal mit dem Facebook Messenger getestet. Der verhält sich genauso. Läuft auch alle paar Minuten:

Facebook Messenger

Außerdem hab ich die Facebook-App auch auf dem iPad ausprobiert (den Messenger gibt’s ja nicht für’s iPad). Dort läuft er wie zu erwarten genauso oft im Hintergrund wie auf dem iPhone. Ist auch kein Wunder, ist ja schließlich die gleiche App für iPhone und iPad.

Facebook iPad

P.S. zum Update: Ich habe das jetzt mit der in diesem Kommentar beschriebenen Methode gemacht (da loggt das iPhone selbst die Aktivität und muss nicht live am Mac angeschlossen sein). Das ändert aber nichts am Ergebnis.[/Update]

Über den Autor

sebastian duevelSebastian Düvel ist iOS- und Mac-Entwickler und Blog-Urgestein – seinen Blog findet ihr unter blog.hagga.net. Hauptberuflich ist er Azubi zum Anwendungsentwickler bei t3n.

Weiterführende Links

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
31 Antworten
  1. von Cihan am 29.05.2013 (10:51 Uhr)

    Ist mir auch schon aufgefallen, aber eher auf dem iPad! Früher hielt das iPad ohne Benutzung und aktivertem WLAN tagelang. Seit einigen Wochen ist das aber nicht mehr der Fall und ich habe mich immer gewundert!

    Danke für den Tipp, ich werde es mal beobachten!

    Antworten Teilen
  2. von Christian am 29.05.2013 (11:03 Uhr)

    Sehr interessanter Artikel. Danke!

    Ps. Beobachte das selbe Problem bei der Facebook App. Mir wurde empfohlen, Facebook mobil über den Safari zu nutzen. Mir gefällt es jedoch nicht so...

    Antworten Teilen
  3. von marc.tissler am 29.05.2013 (11:13 Uhr)

    das dürfte doch die wenigsten wunder, welche FB software ist denn nicht absoluter müll? :)

    Antworten Teilen
  4. von Philip am 29.05.2013 (11:17 Uhr)

    Das ist sehr ärgerlich. Im Übrigen, da sieht man es mal wieder. Wir brauchen nicht mehr, sondern weniger Multitasking.

    Antworten Teilen
  5. von Denis am 29.05.2013 (11:26 Uhr)

    Vielen Dank für den interessanten Beitrag, ich hab da mal 2 Fragen:
    1. Wie verhält es sich mit dem Messenger? Diesen verwende ich bedeutend öfters.
    2. Wenn du deinen Gastbeitrag sowohl auf dieser Seite als auch deinem Blog veröffentlichst, gibt es da nicht ein Problem mit Duplicate Content?

    Antworten Teilen
  6. von baumpaul am 29.05.2013 (11:45 Uhr)

    Gut zu wissen. Wie es sich mit dem Messenger verhält würde mich auch interessieren.

    Antworten Teilen
  7. von Sebastian Düvel am 29.05.2013 (11:56 Uhr)

    Den Messenger und wie sich die App verhält wenn man alle Notifications ausschaltet und ob das auf dem iPad genauso ist, werde ich noch testen.

    Antworten Teilen
  8. von Philipp am 29.05.2013 (12:13 Uhr)

    Danke für den Tipp, dann werd ich auch mal drauf achten, dass ich die App immer wieder schließe.
    Veröffentlichst du die Ergebnisse zum Messenger und den ausgeschalteten Notifications als Update hier im Artikel, oder wie bekommt man das am besten mit? ;)

    Antworten Teilen
  9. von Beo Bachter am 29.05.2013 (12:13 Uhr)

    Kann ich mich eigentlich drauf verlassen, dass oben rechts der kleine Pfeil für die Ortungsdienste angezeigt wird, wenn eine App im Hintergrund die Ortungsdienste nutzt?
    Also im Umkehrschluss: Kein Ortungspfeil zu sehen: Keine App nutzt momentan Ortungsdienste?

    Antworten Teilen
  10. von Tom am 29.05.2013 (12:59 Uhr)

    Auf die Idee, dass die App den User ausspioniert, ist anscheinend noch niemwnd gekommen.

    Antworten Teilen
  11. von Gerry T. am 29.05.2013 (13:26 Uhr)

    Danke für Eure sehr interessante Recherche. Hatte genau dieses Problem bereits vor etwa einem Jahr. Auf Nachfrage gab mir eine Mitarbeiterin der Telekom den Tipp, die Facebook-App manuell zu beenden - das Problem war schon bekannt. Allerdings glaube ich beim besten Willen nicht an einen Programmierfehler, sondern gehe stark von einem Ausspähen meiner Daten aus...

    Antworten Teilen
  12. von Dirk am 29.05.2013 (13:29 Uhr)

    Hallo. Kann man als Normalnutzer, diese CPU Time auch mal bekommen und nutzen? Evt. sind es ja noch mehr App's die Strom saugen!!

    Gib mal eben Bescheid bitte.

    Danke Dirk

    Antworten Teilen
  13. von Philipp am 29.05.2013 (14:30 Uhr)

    @Gerry:
    Ich bin mir nicht sicher was es für Facebook für einen Sinn machen sollte, die App ständig laufen zu lassen. Was sollen sie denn für Daten ausspähen? Ortungsdaten können es nicht sein, denn erstens wird das durch das Ortungssymbol angezeigt - das ist eine Systemfunktionalität und kann, soweit ich weiß, durch Facebook nicht einfach umgangen werden - und zweitens habe ich das Akku-Problem auch noch, obwohl ich die Ortungsdienste für die App deaktiviert habe.
    Und ansonsten hat FB keinen Zugriff auf irgendwelche Daten auf dem Gerät, da die App sandboxed läuft.

    @Dirk:
    Du kannst dir am Mac selbst Xcode runterladen, damit sollte es dann machbar sein. Allerdings weiß ich nicht genau wie kompliziert das Erfassen der Daten ist. Ein Developer Account brauchst du dafür glaube ich nicht.

    Antworten Teilen
  14. von Pascal192 am 29.05.2013 (14:54 Uhr)

    Ich weiß nicht, ob Facebook auf iOS auch nicht die Pushfunktion des Systems benutzt, aber unter Android nutzt man die mqtt Bibliothek. Dafür muss regelmäßig ein ping an die Server gesendet werden, da es sich um eine langlebige Verbindung handelt.

    Antworten Teilen
  15. von Philipp am 29.05.2013 (15:19 Uhr)

    @Pascal:
    Das ist unter iOS nicht möglich, da die Apps nach bestimmter Zeit schlafen gelegt werden. Ab dem Moment könnten sie keine Verbindung mehr zum Pushserver herstellen. Um zu verhindern, dass jede App im Hintergrund ständig selbst die Server kontaktiert hat Apple ja das Push-System überhaupt erst eingeführt :)

    Antworten Teilen
  16. von Markus Väth am 29.05.2013 (18:29 Uhr)

    Auf meinem Blackberry Torch hatte ich das gleiche Problem: Ganz schnell wurde der Akku leergesaugt. Nachdem ich die Facebook-App deinstalliert hatte, normalisierte sich die Akku-Laufzeit wieder. Kann Zufall sein; der Augenschein spricht jedoch für den FB-Akku-Zusammenhang.

    Antworten Teilen
  17. von frankkatzer am 29.05.2013 (22:37 Uhr)

    so muss ein fundierter artikel aussehen!
    danke für die info und das hintergrundwissen zu ios!

    Antworten Teilen
  18. von derdome am 29.05.2013 (23:16 Uhr)

    Sehr cooler und informativer Artikel. Bin dem Tipp mit der Facebook-App gefolgt und stelle fest, dass ich jetzt noch gut über 15% mehr Akku habe als sonst immer.

    Antworten Teilen
  19. von Neotrix am 30.05.2013 (00:53 Uhr)

    10min läuft die noch im Hintergrund? Wow! Das war mir neu.

    Antworten Teilen
  20. von Anna Winkler am 30.05.2013 (03:30 Uhr)

    Hallo Sebastian,

    danke für diesen toll geschriebenen Artikel.
    Mir ist das selber schon aufgefallen, wenn ich öfters in Facebook bin und Nachrichten geschrieben habe wurde der Akku immer weniger. Habe mich dann mal hingesetzt und nur Facebook laufen lassen für 10 Minuten und das erschreckene Ergebnis war, dass bei mir plötzlich mal eben 12% Akku weg waren. Wenn man so öfters im Facebook aktiv ist, muss man das Handy ja täglich 2-3 mal aufladen.
    Schon eine "Frechheit", dass diese App soviel Akku ziehen kann. Da sollten sich die Entwickler aber noch einmal dran setzten und diese App verbessern.

    Viele Grüße
    Anna Winkler

    Antworten Teilen
  21. von James am 30.05.2013 (03:32 Uhr)

    Am Besten Jailbreaken, welcher Idiot macht das bei dem restriktiven Müll den Apple geschaffen hat nicht?
    Mit SBSettings kann man ein QuickMenu einblenden. Mittels Schalter "Remove Background" beendet der alle Apps auf einmal.

    Antworten Teilen
  22. von Falk D. am 30.05.2013 (10:28 Uhr)

    Facebook hat ja Probleme mit dem mobile Web. Wenn der Akku leer ist sind andere mobilere Social-Webs nicht erreichbar und am PC macht eh jeder Facebook. Also berechnet die Facebook App ein paar Stellen von Pi.

    Antworten Teilen
  23. von Dirk am 30.05.2013 (18:18 Uhr)

    Hinweis von Oliver Grunzke ist unsinnig. Er meint angeblich wegen dem Jailbreak so schlau zu sein, dass es mit Jailbreak alles einfacher wäre. Das ist falsch und vielleicht gelogen, falls er dies weiß.
    Durch Jailbreak spart BatteryDoctorPro nicht wirklich Akku, weil es selbst immer wieder laufen muss um andere Apps zu beenden. Vielleicht spart es Akku, wenn es mehrere Apps beendet, aber nicht, wenn nur eine App am Akkuverlust schuldig ist. Vielleicht verbraucht BatteryDoctorPro weniger Strom als Facebook App, aber ich bezweifle, dass der Unterschied riesig ist. Zum Anderen sind durch ein Jailbreak die ehemals geschützten Ordner und App-Bereiche (genutzt in der Laufzeit) ungeschützt. D.h. man muss jeder App dann vertrauen, dass sie nicht z.B. wichtige Daten von der Banking-App stiehlt oder modifiziert. Wiederum gibt es bei Jailbreak so coole Effekte, die jeder haben muss, aber im Hintergrund unbedingt laufen müssen und deshalb der Akku nicht lange hält. BatteryDoctorPro kann dann diese "coole Erweiterung" dann nicht beenden. Zudem muss man den Jailbreak-Entwicklern vertrauen, dass sie keine Daten ausspionieren. Klar, das muss man auch nativ bei Apple, ABER wenn dort etwas bekannt wird, kann Apple zumindest Schadensersatz leisten. Jailbreak-Entwickler dagegen nicht, weil man entweder explizit das Risiko eingegangen ist oder die Jailbreak-Entwickler NICHT zur Rechenschaft gezogen werden können, weil man sie nicht findet.

    So viel zum sehr schlauen Oliver! ;)

    Antworten Teilen
  24. von tobias.klepp am 30.05.2013 (19:07 Uhr)

    Es macht einen Unterschied auch auf meinem iPhone 5. Die Apple-Hotline hat mir das Vorgehen (Beenden der Apps über die Task-Liste) auch empfohlen, um realistischere Akku-Laufzeiten zu haben. Unschön. Ich wünschte, Apple würde CPU-Killer automatisch beenden oder man könnte das Multitasking ausschalten.

    Antworten Teilen
  25. von Dirk am 31.05.2013 (13:44 Uhr)

    Apple wollte die Pseudomultitaskingfunktion endlich bereitstellen und hat es für die Entwickler extrem eingeschränkt, so dass es hauptsächlich für die Benutzer einfach benutzbar wird. Aber manche Entwickler sind wohl erfinderisch und haben einen kleinen Fehler im Pseudomultitasking ausgenutzt. Schade …
    (Aber es ist noch immer besser als bei Android. Dort haben die Entwickler zu viel Freiheit.)

    Antworten Teilen
  26. von DominikLux am 31.05.2013 (20:41 Uhr)

    Ja, und besonders auch die Google Maps App, die ich gern als Navi verwende

    Antworten Teilen
  27. von luckyone am 07.06.2013 (13:00 Uhr)

    Apropos Multitasking ausschalten. Das müsste doch über das Einstellungsmenu problemlos möglich sein in iOS6, wenn ich mich recht erinnere. Würde mich über einen Test mit deakt. Multitasking freuen.

    Habe im übrigen auf bisher allen Ecosystems immer mal wieder PRobleme mit einer akku leersaugendenen Facebook-App. Auf Android war oftmals ein neues FB-Update nötig, manchmal jedoch erlediegte sich das alles wie von GEsitgerhand von selbst. Daher vermute ich, dass es oftmals FB-serverseitig initierte Test / Änderungen sind, die man dafür verantworlich machen kann.

    Übrigens: Bis ich mal auf eine halbwegs ordentliche und mit Android-stantards zu vergelichenden BatteryMeter auf iOS gestoßen bin, hat ziemlich lange gedauert. Ein Witz und Frechheit von Apple solche Funktionen dem User entweder gar nciht oder nur äußerst aufwandsreich zur Verfügunge zu stellen ...

    Antworten Teilen
  28. von luckyone am 07.06.2013 (13:02 Uhr)

    Suche vergeblich einen Edit-Button, irgendwie vergeblich. Blind ?

    Antworten Teilen
  29. von phomac am 07.06.2013 (13:24 Uhr)

    Das Multitasking lässt sich soweit ich weiß nicht aussschalten

    Antworten Teilen
  30. von sanja am 12.06.2013 (15:16 Uhr)

    gibts den alternativen außer safari/browser?

    Antworten Teilen
  31. von luckyone am 13.06.2013 (03:16 Uhr)

    @phomac:
    Ja richtig, nur die Multitasking-Bedienung lässt sich ausschalten ...

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Apps
Starter-Guide iOS: Apps, Einstellungen, Tipps und Zubehör für iPhone und iPad
Starter-Guide iOS: Apps, Einstellungen, Tipps und Zubehör für iPhone und iPad

Neues iPhone oder iPad geschenkt bekommen? Unser Starter-Guide iOS bringt dich im Nu mit den besten Tipps und versteckten Features, Empfehlungen für Must-have-Apps und Hinweisen für wichtige … » weiterlesen

iPhone-Akku auf Distanz laden: Apple arbeitet an neuer Ladetechnologie
iPhone-Akku auf Distanz laden: Apple arbeitet an neuer Ladetechnologie

2017 sollen die neuen iPhone-Modelle kabelloses Laden unterstützen. Ähnliche Technologien erfordern, dass das Gerät auf einer Ladestation liegt, Apple will das mit seiner Erfindung ändern. » weiterlesen

Popslate 2: Akku-Case verpasst eurem iPhone ein zweites E-Ink-Display
Popslate 2: Akku-Case verpasst eurem iPhone ein zweites E-Ink-Display

Nach dem Debüt bringt PopSlate jetzt die zweite Version seines iPhone-Case an den Start. Das PopSlate 2 bietet nicht nur ein größeres zweites E-Ink-Display, sondern lädt das iPhone gleich mit auf. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?