Performanceprobleme aufspüren

Performanceprobleme aufspüren


Wenn die eigene App zur Schnecke wird und sich nicht so verhält wie erwünscht, gilt es herauszufinden, an welcher Stelle die Performance verloren geht. In einem komplexen Betriebssystem wie Android ist das nicht immer trivial. Aber die Android Development Tools stellen Werkzeuge bereit, die mit etwas Übung bei der Suche nach der Ursache helfen.

Die Performance einer App hat einen hohen Einfluss auf deren Erfolg. Da mobile Applikationen im Alltag gern als Lückenfüller verwendet werden, z. B. zur Überbrückung von Wartezeiten, ist es entscheidend, dass der Benutzer schnell zum Ziel gelangt und nicht noch weitere Wartezeit mit der App verbringt. Eine schnelle und flüssige Applikation suggeriert Leichtigkeit und Freude bei der Bedienung und hinterlässt ein positives Erlebnis beim Benutzer. Doch was tun, wenn sich die eigene App deutlich langsamer verhält als die Konkurrenz und das GUI nicht so flüssig läuft wie gewünscht? Dann helfen spezielle Tools aus den ADTs, um die Ursache zu analysieren.

Die Tracer-Familie

Performanceprobleme bei Apps können viele Gründe und auch Ausprägungen haben. Die Ursachen können z. B. direkt im eigenen Code liegen, z. B. ineffiziente Programmierung oder Aufruf von blockierenden Methoden im UI-Thread. Schwieriger sind Probleme zu analysieren, die zu einem langsamen Ablauf der App führen, weil z. B. die Hardware überlastet wird oder Anweisungen unseres Codes schnell ausgeführt werden, diese dann aber zu einer längeren Laufzeit im Android-Frameworkcode führen. Um diese verschiedenen Ausprägungen von Problemen zu analysieren, gibt es mehrere Tools, die unterschiedliche Bereiche der Android-Plattform analysieren können. Hier ist es zunächst wichtig zu verstehen, welche Teile der Android-Architektur von den einzelnen Tools betrachtet werden. Danach stellen wir die Tools im Detail vor.

helleberg_1.eps_fmt1.jpgAbb. 1: Die Tracer-Familie

Abbildung 1 zeigt eine stark vereinfachte Darstellung der Android-Architektur und die Sichtweisen der drei Tools Traceview, Tracer und Systrace. Wir verwenden Traceview, wenn wir Performanceanalysen innerhalb der Dalvik VM, also im ausgeführten Java-Code, vornehmen möchten. Traceview ist in der Lage, Laufzeiten von Methodenaufrufen einer Dalvik-Instanz zu messen. Für uns ermöglicht das eine detaillierte Sicht auf unsere App und unseren Code. Was außerhalb der Dalvik VM passiert, erfasst Traceview nicht.

Tracer legt einen speziellen Fokus auf die Performance der Grafikpipeline. Hierzu ist es wichtig zu wissen, dass ab Android 4.x...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang