Profil der App-Leistung erstellen

Eine App hat eine schlechte Leistung, wenn sie langsam reagiert, ruckelige Animationen zeigt, einfriert oder zu viel Strom verbraucht. Zur Behebung von Leistungsproblemen müssen Sie ein Profil Ihrer App erstellen oder Bereiche identifizieren, in denen Ressourcen wie CPU, Arbeitsspeicher, Grafik oder Geräteakku durch die App ineffizient genutzt werden. In diesem Thema werden die Android Studio-Tools und -Methoden beschrieben, mit denen sich häufige Leistungsprobleme beheben lassen.

Informationen zum Ausführen eigenständiger Profiler ohne die gesamte Android Studio IDE (nur Windows oder Linux) finden Sie unter Eigenständigen Profiler ausführen.

Voraussetzungen

Für die Erstellung eines App-Profils empfehlen wir Folgendes:

  • Eine App mit einer Release-Build-Variante, für die die Manifestkonfiguration profileable aktiviert ist, die auch als profilierbare Anwendung bezeichnet wird. Standardmäßig ist diese Konfiguration bei Anwendungen auf „true“ gesetzt. Wenn Sie diese Konfiguration prüfen oder ändern möchten, öffnen Sie die Manifest- oder AndroidManifest.xml-Datei Ihrer App und suchen Sie im Abschnitt <application> nach der Manifestkonfiguration profileable:

    <profileable android:shell="true" />
    
  • Ein virtuelles oder physisches Testgerät mit API-Level 29 oder höher und Google Play

  • Android Gradle Plugin 7.3 oder höher

Apps, die profiliert werden können, und Apps, die debuggt werden können

Mit einer profilierbaren App können Sie die meisten gängigen Profiling-Aufgaben ausführen. Wenn Sie jedoch Java-/Kotlin-Allokationen aufzeichnen oder einen Heap-Dump erfassen möchten, sollten Sie stattdessen eine debuggbare App verwenden. Wenn Sie einen debuggbaren App-Prozess und ein Gerät mit API-Level 26 oder höher verwenden, können Sie in den entsprechenden Aufgabenansichten auch die Zeitachse Interaktion aufrufen. Dort werden Nutzerinteraktionen und Ereignisse des App-Lebenszyklus angezeigt.

Eine Debug-fähige Anwendung basiert auf der Build-Variante debug Ihrer Anwendung und ermöglicht die Verwendung von Entwicklungstools wie dem Debugger. Allerdings kann dies mit einigen Leistungskosten verbunden sein. Eine App, die sich profilieren lässt, basiert auf der release-Buildvariante Ihrer App und ermöglicht eine Reihe gängiger Profiling-Aufgaben ohne den Leistungsoverhead des Debug-Builds.

App erstellen und ausführen, die profiliert werden kann

So erstellen und führen Sie eine App, die sich profilieren lässt, in Android Studio aus:

  1. Erstellen Sie eine Ausführungs-/Fehlerbehebungskonfiguration, falls Sie noch keine haben.
  2. Wählen Sie die Release-Buildvariante aus (Build > Buildvariante auswählen).
  3. Klicken Sie auf Weitere Aktionen > Profil „app“ mit geringem Overhead oder Profil „app“ mit vollständigen Daten („app“ ist der Name der Ausführungskonfiguration und kann bei Ihnen variieren). Informationen zur Auswahl zwischen den beiden Optionen finden Sie unter Anforderungen. Die App wird auf Ihrem Testgerät geöffnet und der Bereich Profiler wird in Android Studio geöffnet.

Wenn diese Anleitung nicht funktioniert, lesen Sie den Hilfeartikel Profilierbare App manuell erstellen und ausführen.

Profilerstellung starten

So starten Sie eine Profilierungsaufgabe:

  1. Wählen Sie im Bereich Profiler auf dem Tab Start einen Prozess aus der Liste aus. In den meisten Fällen sollten Sie den obersten Prozess auswählen, der Ihre App darstellt.

    Tab „Startseite“ von Profiler
  2. Wählen Sie im Bereich Aufgaben eine Profiling-Aufgabe aus. Weitere Informationen zu den Aufgaben finden Sie auf den anderen Seiten in diesem Abschnitt. Nicht alle Profiling-Aufgaben sind für jeden Prozess verfügbar. Wenn Sie nicht wissen, wo Sie anfangen sollen, erhalten Sie einen Gesamtüberblick über die Leistungsaktivität, indem Sie Ihre Anwendung live prüfen.

  3. Wählen Sie im Drop-down-Menü Profiler-Aufgabe starten von aus, ob die Profiler-Aufgabe beim Starten gestartet oder dem laufenden Prozess angehängt werden soll. Wenn Sie die Startzeit Ihrer App verbessern oder einen Prozess erfassen möchten, der beim Start der App ausgeführt wird, sollten Sie den Start einbeziehen. Andernfalls können Sie mit dem Profiling im aktuellen Zustand Ihrer App beginnen.

  4. Klicken Sie auf Profiler-Aufgabe starten. Die Aufgabe wird in einem eigenen Tab gestartet.

  5. Interagieren Sie mit Ihrer App, damit Aktivitäten ausgelöst werden.

  6. Beenden Sie gegebenenfalls die Aufzeichnung, warten Sie, bis sie geparst wurde, und sehen Sie sich die Ergebnisse an.

Traces vergleichen, exportieren und importieren

Wenn Sie eine Profiling-Aufgabe beenden, wird sie automatisch im Bereich Profiler auf dem Tab Frühere Aufzeichnungen gespeichert. Anhand dieser aufgezeichneten Daten können Sie die Ressourcennutzung in verschiedenen Szenarien vergleichen. Die Aufzeichnungen werden für die Dauer der aktuellen Android Studio-Sitzung gespeichert. Wenn Sie sie länger aufbewahren möchten, exportieren Sie sie, indem Sie auf Aufzeichnung exportieren klicken. Nicht alle Trace-Typen können exportiert werden.

Wenn Sie einen Trace importieren möchten, z. B. aus einer früheren Ausführung von Android Studio, klicken Sie auf dem Tab Bisherige Aufzeichnungen auf Aufzeichnung importieren und wählen Sie Ihre Trace-Datei aus. Sie können eine Datei auch per Drag-and-drop in das Android Studio-Editorfenster ziehen.

Aufnahmekonfiguration bearbeiten

Klicken Sie auf die Profiler-Einstellungen , um die Konfiguration der Profiler-Aufgabenaufzeichnung zu bearbeiten. Es gibt zwei Haupteinstellungen, die Sie aktivieren oder deaktivieren können:

  • Bei Aufgaben mit Stichproben stellt das Stichprobenintervall die Zeit zwischen den einzelnen Stichproben dar. Je kürzer das Intervall ist, desto schneller wird die maximale Dateigröße für die aufgezeichneten Daten erreicht.
  • Die maximale Dateigröße gibt die Datenmenge an, die auf das verbundene Gerät geschrieben werden kann. Wenn Sie die Aufzeichnung beenden, werden diese Daten von Android Studio analysiert und im Profilerfenster angezeigt. Wenn Sie das Limit erhöhen und eine große Menge an Daten erfassen, dauert es in Android Studio viel länger, die Datei zu parsen, und das Programm reagiert möglicherweise nicht mehr.