Ein schmaler Grat zwischen Aufwand und Nutzen

Android-Performance-Optimierung: Tipps & Tricks vom Experten [Interview]

Christoph Ebert
© Software & Support Media

Für das Schreiben von einwandfreiem und effizientem Code gibt es viele Regeln, Methoden und Leitfäden. Auch bei der mobilen Entwicklung existieren zahlreiche Tipps und Ratschläge, wie man seiner App einen Performance-Boost verleihen kann.

Für Android hat man inzwischen die Qual der Wahl aus einer großen Anzahl verschiedener Tools und Werkzeuge. Ein Teil dieser Tools hilft bei der täglichen Arbeit und ist mittlerweile hinreichend bekannt. Darüber hinaus gibt es auch gut versteckte Werkzeuge, um Performance– oder Speicherproblemen auf die Spur zu kommen. Diese Helferlein sind weit über das SDK verteilt und schlecht dokumentiert. Außerdem existieren auch gute Open-Source-Bibliotheken aus der Community, die noch nicht weit verbreitet sind. Dabei helfen viele Tools dabei um Speicher- und Performance Probleme zu finden und zu beheben. Denn gerade aufgrund der Fragmentierung der Plattform ist das Mikro-Optimieren einer Android-App eine sehr knifflige Angelegenheit, schließlich gibt es verschiedenste Versionen der Virtual Machine, die auf verschiedensten Prozessoren mit unterschiedlichsten Geschwindigkeiten laufen. Damit die eigene App auf einer Vielzahl von Geräten gut performt, muss man sicherstellen, dass der Code auf allen Ebenen effizient ist und beispielsweise nicht unnötig Speicher zugewiesen wird. Dominik Helleberg, bei der inovex GmbH für die Entwicklung von mobilen Applikationen zuständig, zeigt in seiner Session „Performance – Optimierung mit Android Tools“ auf der kommenden MobileTech Conference in Berlin (1. bis 4. September) Tipps und Tricks aus der Praxis. Übrigens: Wer sich bis zum 3. Juli für eine Teilnahme entscheidet, kann von attraktiven Frühbucherpreisen profitieren und ein Gratis-Tablet abstauben. Mehr Details auf der MobileTech Conference Homepage.

Wir haben uns mit Dominik über das Thema Performance-Optimierung unterhalten:

Jaxenter: Dominik, du sprichts auf der MobileTech Conference über Android-Performance-Optimierung. Welche grundsätzlichen Ansätze/Bereiche lassen sich in der Performance-Optimierung unterscheiden?

Dominik Helleberg: Das ist eine weites Feld. Ich versuche die häufigsten Problem abzugrenzen, zum Beispiel den Startvorgang einer App oder das flüssige Scrollen in komplexen Listen.

Jaxenter: Gibt es grundsätzliche Unterschiede in der Performance-Optmierung, wenn man nativ oder cross-platform entwickelt?

Dominik Helleberg: Auf jeden Fall. Cross-Plattform-Apps lassen sich meisten schwieriger analysieren und optimieren, da hier häufig mehrere Technologien im Spiel sind oder man mit generiertem Code arbeitet.
Auch sind die verfügbaren Tools meistens für native Apps optimiert.

Jaxenter: Wo sollte man ansetzen, um möglichst schnell Erfolge zu erzielen?

Dominik Helleberg: Wenn ich die Frage in einem Satz beantworten könnte, würde mein Vortrag ziemlich kurz 😉 Einfache Regeln sind: Nicht zu früh im Code optimieren und zunächst die Performance subjektiv beurteilen. Zusätzlich sollte man klassische Fehler vermeiden wie zum Beispiel I/O-Operationen im UI-Thread oder mit zu großen Ressourcen zu arbeiten.

Jaxenter: Wo setzt man am besten an, wenn man auch noch das letzte kleine Quäntchen Performance heraus kitzeln möchte?

Dominik Helleberg: Man kann wirklich viel Zeit in die Optimierung einer App stecken. Dabei muss man aber auch immer das Verhältnis von Aufwand und Nutzen beachten. Meistens gilt auch hier die klassische 80/20 Regel, d.h. um die letzten paar Prozent Performance heraus zu holen, brauche ich häufig richtig viel Zeit.

Jaxenter: Hast du ein persönliches Lieblings-Tool?

Dominik Helleberg: Ich mag den Hierarchy-Viewer und Systrace. Der Hierarchy-Viewer lässt sich schnell und ohne großen Aufwand einsetzen und systrace ist wirklich sehr präzise, wenn es um Laufzeiten geht.

Jaxenter: Welche Open-Source-Bibliotheken aus der Community sollten Mobile-Entwickler unbedingt auf dem Radar haben?

Dominik Helleberg: Auf jeden Fall gehört eine Bibliothek zum Laden und Cachen von Bildern dazu. Hier sollte man nicht versuchen das Rad neu zu erfinden. Zum Glück gibt es schon gute Implementierungen wie den „Universal Image Loader“, „Picasso“ oder den „Network Image View“ aus der Volley-Bibliothek.

Zur Person:
Dominik HellebergDominik Helleberg ist bei der inovex GmbH für die Entwicklung von mobilen Applikationen zuständig. Neben diversen Projekten im JME-, Android- und Mobile-Web-Umfeld hat er den JCP und das W3C bei der Definition von Standards für mobile Laufzeitumgebungen unterstützt.
  

MobileTech Conference 2014 – Mobile Services Evolved!

Mit ihrem plattformübergreifenden Konzept gehört die MobileTech Conference zu den wichtigsten Treffpunkten der Mobile-Branche im deutschsprachigen Raum. Nachhaltige Mobile-Strategien erfordern ein hohes Maß an technischem und strategischem Wissen, und das weit über mobile Devices hinaus. Die MobileTech Conference vermittelt dieses Know-how – praxisrelevant und aktuell.

Hier noch mal alle Frühbucher-Konditionen im Überblick:

MobileTech Conference 2014 Frühbucher

Geschrieben von
Christoph Ebert
Christoph Ebert
Christoph Ebert stieß im Juli 2011 zum Online-Team von Software & Support Media. Als Redakteur kümmert er sich um das Portfolio von entwickler.press und ist verantwortlich für das Entwickler Magazin und entwickler.de. Davor betreute er die Portale WebMagazin.de, CreateOrDie.de und mobile360.de. Vor seiner Zeit in Frankfurt arbeitete der studierte Amerikanist und Tech-Geek als Redakteur für ein Heimkinofachmagazin im Süden Deutschlands.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: