Ist meine Android App Batterie leer?
Entwickle ich ein Spiel für Android. Es nutzt eine surface view und verwendet die Sortierung von standard-2D-Zeichnung-APIs zur Verfügung gestellt. Als ich das erste veröffentlichte Spiel, ich Tat allerlei alberne Dinge wie re-Zeichnung 9-patches auf jedem frame und ebenfalls mit text. Ich habe da viel optimiert dieses durch das zeichnen auf Bitmap-Objekte und zeichnen Sie jeden frame, nur re-Zeichnung auf die Bitmap-Objekte, wenn erforderlich.
Ich habe die Beschwerden über Akku drain vor und nach meinen änderungen würde ich gerne wissen (wissenschaftlich) wenn ich das gemacht habe, keine Verbesserungen. Leider habe ich keine Daten vor, um durch zu gehen, so wäre es sehr nützlich, zu vergleichen, die Leistung zu irgendeinem anderen Spiel.
Ich habe seit Traceview, und mit den Ergebnissen der es vor allem für die Zwecke der Ermittlung der CPU-zeitintensive Methoden.
Also -- was ist die beste Weise zu bestimmen, meine app ' s Akku-Leistung, und was ist ein guter benchmark?
Ich weiß, kann ich den %s von verschiedenen apps über die Einstellungen, aber das ist wieder unwissenschaftlich, als die Figur, die ich von dieser hängt auch davon ab, was in all den anderen apps. Ich habe mir durch die (meisten) Google in der Dokumentation, und obwohl die Nachricht ist klar, dass Sie sollte werden, speichern Akku (und es gibt gelegentliche Tipp, wie), es gibt wenig Anzeichen, wie kann ich Messen, wie gut meine app durchführen. Das Letzte was ich will sind mehr Beschwerden der Akku-drain im Android Market!
Vielen Dank im Voraus.
BEARBEITEN
Danke für all Eure hilfreiche Ratschläge/Vorschläge. Was ich eigentlich wissen will ist wie ich die Daten kommen von Traceview (sprich: CPU-Zeit in ms ausgegeben, die auf jeden frame des Spiels), um zu bestimmen, den Akku-Verbrauch (wenn das überhaupt möglich ist). Lesen wieder auf meine ursprüngliche Frage, kann ich sehen, ich war ein bisschen vage. Nochmals vielen Dank.
InformationsquelleAutor der Frage Tom R | 2011-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist mein Vorschlag:
Ich beobachte den Stromverbrauch während der Entwicklung meiner apps (die mitunter eine Umfrage der sensoren zu Preisen von <25 NS) mit PowerTutor. Überprüfen Sie es heraus, es klingt wie das vielleicht ist, was Sie suchen, die app sagt Ihnen, was Sie in mW, J, oder relativ zu dem rest des Systems. Auch die Ergebnisse sind aufgeschlüsselt nach CPU, WiFi, Display, (andere radios installiert). Der einzige Haken ist, dass es ist geschrieben für ein bestimmtes Handy-Modell, aber ich verwende es mit großem Erfolg auf meinem EVO 4G, Galaxy S (Sprint Epic), und Hero.
Glück,
-Steve
InformationsquelleAutor der Antwort Kingsolmn
Gibt es eine Möglichkeit, dass das Spiel Trockenlegung Batterie. Ich glaube, das hängt von mehreren Gründen ab, die wie folgt lautet:
Thread
. Haben Sie begrenzt die FPS um die CPU überspringen unnötige Iterationen? Da Sie die Arbeit mit 2D-ich nehme an, Sie sind mit derSurfaceView
. 60 FPS reicht für eine Echtzeit-Spiel.Thread
wenn die Anwendung beendet wird. Damit Sie wiederholen-code, wenn Ihre Anwendung ist nicht lebendig.wait();
währendonPause
?Die Leute in den Kommentaren, dass das Spiel undichte Batterie zielt vermutlich, wenn Ihre Anwendung ist nicht im Einsatz. Ansonsten wäre es komisch, weil jedes Spiel auf Android Market Gossen Batterie - mehr oder weniger.
InformationsquelleAutor der Antwort Wroclai
Werden, wenn Sie versuchen zu beurteilen, die "Verbesserung gegenüber der vorherigen version", ich glaube nicht, dass es Sinn macht zu vergleichen, um ein weiteres Spiel! Es sei denn, diese beiden Spiele tun das genaue Ding, das ist so unwissenschaftlich, wie es kommt.
Statt, ich würde greifen die Vorherige version der app aus der Quellcodeverwaltung, führen Sie es, Messen Sie es und führen Sie es mit dem neuesten code und vergleichen Sie es erneut.
Vergleichen, können Sie zum Beispiel verwenden Sie das Kommandozeilen-tool "top" (also available in busybox, wenn Ihr Telefon verwurzelt ist, nicht sicher, wenn es darum geht, mit einem stock Tel. Wahrscheinlich nicht). Das zeigt dir die CPU-Auslastung des Prozesses in Prozent.
InformationsquelleAutor der Antwort EboMike
Gibt es eine Batterie-profiler-entwickelt von Qualcomm genannt Trepn Profiler: https://developer.qualcomm.com/mobile-development/increase-app-performance/trepn-profiler
InformationsquelleAutor der Antwort Murat
In der Theorie wäre es möglich, zu extrapolieren, die Akku-Nutzung Ihrer app durch einen Blick auf die Leistungsaufnahme, die auf einer frame-by-frame-basis. Der beste Weg, um dies zu erreichen, wäre die Bewertung der Energieverbrauch der CPU (nur) für einen bestimmten Zeitraum (etwa zwei Sekunden), während Ihre app ausgeführt wird, der die meisten CPU-intensive operation, (zusätzlich, GPU-Stromverbrauch könnte er auf diese Weise auch) während der Aufnahme TraceView Daten (wie Bilder pro Sekunde oder flops pro Sekunde) geben Sie die den Datenverkehr über die CPU/GPU für eine bestimmte Millisekunde. Anhand dieser Daten konnte man genau berechnen die Durchschnittliche peak-Stromverbrauch für Ihre app durch ausführen des obigen test ein paar mal.
Hier ist, warum ich sagen, es ist nur Theorie: Es gibt viele Variablen zu berücksichtigen:
Ich hoffe, dies gibt einige Einblicke auf Ihre Frage, auch wenn ich es mir gegangen, noch tiefer hinein als nötig.
-Steve
InformationsquelleAutor der Antwort Kingsolmn
Für jedermann, das schaut, eine Ressource, die wir verwendet haben, ist äußerst hilfreich, um die Kostenlose app von AT&T namens ARO.
Einen Blick darauf werfen: ARO
Es hat mir geholfen, mich vor und ich sehe es nicht erwähnt sehr oft, so dachte, ich würde schreiben es hier für jeden der Suche.
InformationsquelleAutor der Antwort AllDayAmazing
Das erste, was ich tun würde, ist die Jagd für eine app schon gibt, hat einen bekannten, konsistenten Verwendung des Akkus, und dann können Sie nur verwenden, als eine Referenz, um zu bestimmen, Ihre app-Nutzung.
Wenn es keine solche app, Sie haben die Hoffnung auf eine Antwort von jemand anders... und wenn Sie erfolgreich sind, macht so eine app, ich würde vorschlagen, den Verkauf Ihres neuen "battery usage reference" - app, so dass andere Programmierer nutzen könnte. 🙂
InformationsquelleAutor der Antwort TimFoolery
Ich weiß, diese Frage ist alt und es ist schon spät, aber für jeden, der kommt hier auf der Suche nach einer Lösung, die ich schlage vor, Sie nehmen einen Blick auf JouleUnit test:
http://dnlkntt.wordpress.com/2013/09/28/how-to-test-energy-consumption-on-android-devices/
Er integriert sich in eclipse und bietet Ihnen eine große Menge an Details darüber, wie Ihre app viel Akku verbraucht.
InformationsquelleAutor der Antwort brunorey