Einige von Euch haben ja schon angeregt mitverfolgt, wie häufig bei uns im Forum das Thema Akku-Verbrauch der Androiden diskutiert wird.
Um auf diesem Gebiet zu etwas fundierteren Aussagen zu kommen, (Theorie ist auch nicht alles) habe ich vor einiger Zeit eine kleine App geschrieben,
die uns alle dabei unterstützen kann.
Achtung: Versionsupdate vom 02.08.2010 auf Version 1.9 (Änderungen siehe unten)
Seit heute Abend gibt es nun die App Batman in einer neuen Version. Viele Eurer Vorschläge, Anregungen haben Einzug gefunden .. Aber lest weiter ...
Diese kleine App tut eigentlich nicht viel, Ihr einziger Lebenszweck ist es Daten über das Lade/Entlade-Verhalten Eurer Akkus zu sammeln und diese verfügbar zu machen. Sascha hat sich netter Weise bereiterklärt diese Daten zu sammeln und sie dann später aufbereitet für Jedermann (und natürlich auch FRAU) im Wiki zu hinterlegen. Ein Projekt was wohl bislang einzigartig in dieser Größenordnung ist.
Zur Sache. Die App kommt recht unspektakulär daher mit einem einfach Textscreen der sich, solange die App aktiv im Vordergrund läuft, auch mit jeder Änderung der Batterieverhältnisse updated. Und so schauts dann aus:

Das erste was die App mal macht, ist auf der SD-Karte automatisch das Logfile anzulegen und es mit mit der Information zu Eurem HandyTyp als erste Zeile zu befüllen. Das Logging ist damit aber noch nicht gestartet.
Darüber hinaus kann man nur das Menü aufklappen (Einfach die Menütaste am Handy drücken) und man bekommt folgendes Menü zu sehen:

Hier hat man nun genau vier Auswahlmöglichkeiten:
- Logging + App beenden
- Logging starten
- Akkuinfo
- Akku Verbraucher
- Log versenden (Mail)
- Mehr
- Neues Log anlegen
- Konfiguratiom
Das wichtigste zuerst:
Start logging:
Wenn Ihr diesen Menüpunkt auswählt, dann wird der Hintergrund Service gestartet, der auf Eurer SD-Karte eine Datei mit Namen : batman.csv anlegt. Dies geschieht natürlich nur wenn die SD-Karte auch gemounted (zum Schreiben/Lesen verfügbar gemacht) ist! Aber keine Sorge, Ihr werdet im Fehlerfall entsprechend darauf hingewiesen.
Dieser Service läuft solange, wie ihr die Applikation NICHT explizit über den Menüpunkt "Logging + App beenden" beendet.
Neu ist in deser Version nun, dass mit dem Starten des Service auch ein Icon in die Notification Bar gelegt wird. Dieses erinnert Euch einerseits daran, dass die App noch im Hintergrund mitloggt und andererseits
liefert es Euch eine Anzeige der bisherigen Logdauer dieses Logvorgangs mit.
Neues Log anlegen:
Dieser Menüeintrag ist für Euch nur dann interessant wenn Ihr bereits eine Zeitlang geloggt habt und nun ein neues Logfile anlegen wollt. Dabei wird ein bereits existierendes Logfile geläscht und ein neues angelegt
Zur Sicherheit bekommt Ihr nochmal eine Warnmeldung angezeigt.

Log Versenden (Mail):
Bei Auswahl dieses Menüpunktes werdet Ihr u.U. zunächst einen Screen wie diesen sehen:

Hier solltet Ihr normalerweise einfach auf Gmail klicken, woraufhin dann folgender Screen zu sehen sein wird:

Theoretisch könnt Ihr nun einfach auf Senden klicken und das fertige Logfile wird dann an Sasche gesendet und Ihr habt AndroidPIT und all seinen UserInnen einen großen Dienst erwiesen, indem Ihr bei der Datensammlung zum Thema Akkuverbrauch der Androiden einen wichtigen Beitrag geleistet habt.)
(Wer möchte kann Sascha, Norman und mir natürlich auch noch einen lieben Gruss dazutippen
Ihr könnt hier Eure eigene E-Mail Adresse (oder eine beliebige andere) eintragen und Euch das Logfile auf den PC schicken, um es zu analysieren oder sonstwie zu verarbeiten.
Wenn Ihr das Log verschickt, solltet Ihr mindestens 24 Stunden durchgehend geloggt haben. Nähere Informationen dazu findet Ihr auch auf der unten verlinkten Public Google Wave.
Logging + App beenden:
ACHTUNG Wenn Ihr diesen Menüpunkt auswählt, wird der unter Umständen im Hintergrund laufende Service, der die Daten sammelt beendet!
Ich musste letztlich irgendeine Möglichkeit schaffen, um den Service zu beenden ...
Ihr werdet aber noch zur Sicherheit darauf hingewiesen.

Wollt ihr die App Batmon also nur verlassen, aber der Service soll weiterlaufen, einfach die "Home" Taste am Handy drücken!
Noch ein Wort zur Notification Bar, hier seht ihr die bereits geloggte Zeitspanne und könnt, indem Ihr die Zeile anklickt auch die App öffnen.

Wichtig für alle die die App benutzen! :
Keinesfalls darf einer der verbreiteten Task Killer auf Autokill gestellt sein was diese App angeht. Das wäre natürlich kontraproduktiv!
Akkuinfo:
Mit Auswahl dieses Menüpunktes wird einfach die bereits im Handy eingebaute und versteckte App AkkuInfo gestartet. Dies ist eigentlich eine Diagnose Software, die somit auch in einigen einige Punkten (hauptsächlich im dortigen Menü: Telefoninfo) mit VORSICHT zu behandeln ist. allerdings bietet sie
auch einige sehr nützliche Punkte, nämlich Informationen dazu, welche Apps jeweils seit dem letzten Trennen vom Ladegerät wie viel Netzwerktraffic verursacht haben.
Akkuverbraucher:
Auch hier wird nur eine bereits auf dem Telefon vorhandene App gestartet, die darüber Auskunft gibt, welche Akkuverbraucher seit dem letzten Trennen vom
Ladegerät wieder den Akku leergezogen haben.
Mehr:
Hier verbergen sich noch zwei Einträge .. Konfiguration und Neues Log anlegen.
Inhalt .. Selbsterklärend ;) Nur soviel, die Sprachausgabe ist nützlich ;)
Änderungen in Version 1.5:
- Die bisher in Version 1.4 falsch geloggte Anzeige Helligkeit wird nun korrekt geloggt und angezeigt.
- Die Anzeige der bisherigen Logdauer in der Notification wird nach einem Autoneustart oder einem Autokill (durch System oder sonstwas) erhalten.
(erst bei einem korrekten Beenden über das Menü, wird diese Zeit zurückgesetzt)
Änderungen in Version 1.7:
Es sind wie weiter unten beschrieben, einige neue Logeinträge hinzugekommen, die eine wesentlich
bessere Beurteilung einer durch externe Umstände erzeugten Lastsitutation zu ermöglichen.
Weiters wurde de Anzahl der Logeintrag auslösenden Receiver erweitert, so das hier besser unterschieden
werden kann warum der Accu evtl schneller geleert wird.
Dazu wurden insgesamt 5 neue Eventreceiver in den Service eingebaut.
Es wird nun zusätzlich auch geloggt bei:
- MobileDataconnectionChange,
- MobileServiceStateChange,
- onCellLocationChange, (ohne hierbei jedoch die Location selber mit zuloggen!!!)
- onWifiConnectionStateChange
- onWifiHardwareStateChange
- onAirplaneModeChange
Die Ermittlung/Erkennung vieler zusätzlicher Mobiler Netzwerktypen ist nun möglich.
Der Airplanemode wird nun zuverlässiger erkannt, ebenso ein nach neuerlicher Mobiler Registrierung
beim Provider erfolgende Netzwechsel.
Im Mailheader wird der Handy-Typ als erstes mit angeführt.... Dient der besseren Zuordnung im Posteingang
insgesamt mit allen bisherigen Events sind das also nun 10 verschiedene Events (alle stark Akkuverbrauchend oder schonend) die hier zur erfassung des Batteriezustandes erfasst werden.
Darüber hinaus gibt die allerletzte Spalte jeweils Auskunft darüber eben welches dieser Events die Logzeile auslöste.
Es gibt nun in der Spalte Netzwerktyp wesentlich mehr Netzwerktypen die erkannt werden!
Die Zeitmessung für die Notification erfolgt nun korrekt und wird bei jeder Logzeile neu upgedatet. Wenn der Bildschirm längere Zeit an ist, erfolgt
der Update direkt, wenn man den Bildschirm einmal aus und wieder einschaltet.
Auch den Airplane bzw. Tiefschlaf modus übersteht diese Messung nun ... (zumindest auf dem G1!)
Neu hinzugekommen ist auch eine Berechtigung "ACCESS_COARSE_LOCATION" Diese benötigt die App lediglich
um einen Wechsel der Cell Location zu monitoren und dies als Logauslöser zu benutzen. Es werden keine
Location Details mitgeloggt und/oder an dritte übermittelt.
ACHTUNG: Da der Logheader sich geändert hat, solltet Ihr ein neues Log über das Menü anlegen. Im Falle des Falles
könnt ihr nötigenfalls das bisherige Logfile an die voreingetragene Mailadresse senden.
Neu in Version 1.9
Lange Zeit hat es gedauert und jetzt habe ich mich aus verschiedenen Gründen entschieden, die App früher als gedacht erneut
zu publizieren. In der App wurde mittlerweile eine Sprachausgabe integriert, die es erlaubt bei Ladung oder Entladung die Akkuladung
per Sprachausgabe in 10 % Schritten auszugeben. Dieses Feature ist über das neue Konfigurationsmenü unter "mehr" im Menü erreichbar
und konfigurierbar. Ebenso ist dort eine Logausgabe für Leute einschaltbar, welche die ADB aus dem Android SDK installiert haben. Damit
kann man sich Live ansehen was gerade so am Handy geschieht, hinsichtlich der ganzen mitgeloggten Parameter. Diese Option
macht die Logausgaben im Logcat sichtbar.
Weiters habe ich den ehemals als eigene App installierbare AkkuInfo mit integriert. (Via Menü - AkkuInfo). Ebenfalls direkt aus Batman aufrufbar
ist nun die Akkverbraucher App aus dem Telefoninfo Menü des Android.
Somit sind alle nützlichen Dinge beisammen und in einem Guß.
- Konfigurierbare Sprachausgabe des Akkulevels im Logging Modus
- Erweiterte Werte Ausgabe im Haupt-Screen
- Direkter Aufruf der Akkuverbraucher
- Direkter Aufruf von AkkuInfo (früher als eigene Starter App) integriert
- Konfigurations - Menü
- Konfigurierbare Debug-Option zur direkten Verfolgung der Handyaktivitäten am PC (nur mit installiertem ADB)
- Automatische Abschaltung des Logging bei zu geringer AkkuLadung um den Rest für Notfälle zu sparen
Weitere Dinge wie ein Widget und einiges mehr sind teilweise schon umgesetzt und müssen nur noch integriert werden.
ACHTUNG: Wenn Ihr die neue Version aus dem Market ladet, müsst ihr ggf. die bisherige Version 1.7 vorher deinstallieren!
Eigentlich ganz einfach oder? Wo bekommt Ihr diese App jetzt her? Ganz einfach, hier natürlich im Android Market:

Danke an alle die mitgeholfen haben diese Daten zu sammeln!
Ein besonderen Dank möchte ich an dieser Stelle Sascha und Norman aussprechen, die wesentliche Teile zum Erfolg beigetragen haben. Sei es
durch Testen der neuen Version oder dem einpflegen in die Google Wave oder dem unermüdlichen Beantworten von Fragen im Forum.
Weil es grundsätzlich gefragt wurde: Was wird eigentlich mitgeloggt:
in der momentanen Version 1.9 werden folgende Daten aufgezeichnet:
Handy Model und Devicebezeichnung sowie
Datum Zeit
Level % (0 -100 max)
Spannung (angepasst)
Temperatur °C
Display Helligkeit % (0-100)
Bluetooth off/on (0/100)
Signalstärke (asu 0 -31 max)
Laden
Netzwerktyp
Laden verbal
Betriebsart
NetzwerkTyp verbal
Bluetooth enabled/disabled
Akku Technologie
Real Spannung
Batterie Status
Mobile Verbindungs Status
Mobile Service Status
Logauslöser
Mehr wird definitiv nicht aufgezeichnet oder weitergegeben. Es werden lediglich oben genannte Daten im Logfile übermittelt.

Lukas B.
Eine Frage dazu: Ich habe ja mit der ersten Version dieser App mitgemacht. Wie ist das jetzt, sollen wir, die schon mal so ein Logfile an Sascha geschickt haben, auch nochmals eines machen oder genügt Euch das eine? Ich weiss auch nicht wieviel mal Ihr von uns solche Daten braucht? Sind zum Beispiel neben den Alltagsssituationen auch extremsituationen, z.b. wie gpstracking oder anderes sinnvoll?
Gruss und danke an Sascha, Norman und Jörg