Profil der App-Leistung erstellen

Eine App gilt als schlecht, wenn sie langsam reagiert, abgehackte Animationen anzeigt hängt oder verbraucht zu viel Strom. Zur Behebung von Leistungsproblemen müssen zur ineffizienten Nutzung von Ressourcen wie CPU, Arbeitsspeicher, Grafik, Netzwerk oder des Geräteakkus.

Verwenden Sie zum Finden und Beheben dieser Probleme die Profilerstellungs- und Benchmarking-Tools und -Techniken, die beschrieben in diesem Thema. Um Techniken zur Leistungsmessung zu erlernen, und Beispiele für deren Verwendung zur Lösung bestimmter Probleme erhalten Sie unter Messen Leistung.

Android Studio bietet mehrere Profilerstellungstools, mit denen Sie potenzielle Probleme finden und visualisieren können:

  • Mit dem CPU-Profiler lassen sich Probleme mit der Laufzeitleistung aufspüren.
  • Der Memory Profiler unterstützt das Verfolgen von Arbeitsspeicherzuweisungen.
  • Der Energie-Profiler erfasst den Energieverbrauch, der zur Akkuleistung beitragen kann. Abfluss.

Diese Tools sind mit Android 5.0 (API-Level 21) und höher kompatibel. Weitere Informationen zu finden Sie auf den anderen Seiten in diesem Abschnitt des Nutzerhandbuchs.

Mit den Jetpack Benchmark-Bibliotheken kann Ihre Anwendung verschiedene wichtige Vorgänge messen:

  • Makro-Benchmark: Messen Sie wichtige Anwendungsfälle für die Leistung, einschließlich Anwendungsstart. und Neuzeichnungen, die durch Aktionen wie UI-Animationen oder Scrollen ausgelöst werden.
  • Mikrobenchmark: Zum Messen der CPU-Kosten bestimmter Funktionen.

Weitere Informationen zu diesen Bibliotheken finden Sie in der Benchmark App-Seite finden Sie weitere Informationen.

Profilierbare Anwendungen

Profileable ist ein Manifest in Android Q eingeführt. Damit kann angegeben werden, ob der Nutzer des Geräts kann über Tools wie Android Studio, Simpleperf und Perfekt.

Vor dem profileable konnten die meisten Entwickler nur Profile erstellen Debug-fähige Apps unter Android mit erheblichen Leistungskosten als Nebeneffekt ein. Diese Leistungskosten könnten die Profilerstellungsergebnisse beeinträchtigen, insbesondere wenn sie auf den Zeitplan bezogen. In Tabelle 1 sind die Unterschiede zwischen debug-fähigen und profilierbaren Werten zusammengefasst. Apps.

Tabelle 1 Zusammenfassung der wichtigsten Unterschiede zwischen Debug-fähigen und profilbaren Apps.
Funktion Debug-fähig Profilierbar
Speicher-Profiler Voll

Ja:

Nein:

CPU-Profiler Voll

Ja:

Nein:

Netzwerk-Profiler Ja Nein
Energie-Profiler Ja Nein
Leistungsprofiler Ja Ja
Ereignismonitor Ja Nein

Profileable wurde eingeführt, damit Entwickler ihren Apps erlauben können, Informationen offenzulegen Profiling-Tools zu verwenden, bei denen die Leistungskosten gering sind. Ein profilierbares APK ist im Grunde ein Release-APK mit der Zeile <profileable android:shell="true"/>. im Abschnitt <application> der Manifestdatei hinzugefügt.

Profilfähige Anwendung automatisch erstellen und ausführen

Sie können eine profilierbare Anwendung mit nur einem Klick konfigurieren, erstellen und ausführen. Für diese Funktion ist ein virtuelles oder physisches Testgerät, auf dem API-Level 29 oder höher ausgeführt wird und das Google Play hat. So verwenden Sie die klicken Sie auf den Pfeil neben dem Symbol für die Profil-App und wählen Sie zwischen zwei Optionen:

Profilfähiges Build-Menü mit einem Klick.
  • Profil für „App“ mit geringem Overhead startet die CPU und der Arbeitsspeicher Profiler. Im Memory Profiler Native Zuweisungen erfassen aktiviert ist.

    Profilerstellung mit geringem Aufwand
  • Profil für „App“ mit vollständigen Daten die CPU, den Arbeitsspeicher und Energieprofiler

    Profilerstellung mit vollständigen Daten

Profilfähige Anwendung manuell erstellen und ausführen

Um eine profilierbare Anwendung manuell zu erstellen, müssen Sie zuerst eine Release-Anwendung erstellen und Aktualisieren Sie dann die Manifestdatei, die die Release-Anwendung in eine profilierbare Anwendung verwandelt. Starten Sie nach der Konfiguration der profilierbaren Anwendung den Profiler und wählen Sie eine profilierbare Anwendung aus. zu analysieren.

Release-App erstellen

So erstellen Sie eine Release-Anwendung für die Profilerstellung:

  1. Signieren Sie Ihre Anwendung mit dem Schlüssel zur Fehlerbehebung, indem Sie folgende Zeilen zum build.gradle-Datei. Wenn Sie bereits eine funktionierende Release-Build-Variante haben, fahren Sie mit dem nächsten Schritt fort.

            buildTypes {
              release {
                signingConfig signingConfigs.debug
              }
            }
          
  2. Wählen Sie in Android Studio Build > Wählen Sie unter Build-Variante... die Option Release-Variante.

Release in profilierbar ändern

  1. Konvertieren Sie Ihre Release-Anwendung von oben in eine profilfähige Anwendung, indem Sie die AndroidManifest.xml-Datei und fügen Sie Folgendes innerhalb von <application>. Weitere Informationen finden Sie unter Anwendung für die Veröffentlichung erstellen

    <profileable android:shell="true"/>

  2. Je nach SDK-Version müssen Sie in der Datei build.gradle-Datei.

          aaptOptions {
            additionalParameters =["--warn-manifest-validation"]
          }
        

Profil für eine profilierbare Anwendung erstellen

So erstellen Sie ein Profil für eine App, für die ein Profil erstellt werden kann:

  1. Starten Sie die App im Entwicklungsemulator oder auf dem Gerät.

  2. Starten Sie den Profiler in Android Studio, indem Sie Ansicht > Tool-Fenster > Profiler:

  3. Klicken Sie nach dem Starten der Anwendung auf das Symbol Pluszeichen – Profiler im Profiler, um das Dropdown-Menü anzuzeigen. Wählen Sie Ihr Gerät und dann den unter Andere profilierbare Prozesse den Eintrag der Anwendung.

    Profilierbares Menü
  4. Der Profiler sollte an die Anwendung angehängt werden. Nur CPU- und Arbeitsspeicher-Profiler sind verfügbar. mit eingeschränkten Funktionen für den Memory Profiler.

    Profilierbare Sitzungsansicht
    Profilierbares Menü
    Profilierbares Menü

Sitzungen

Sie können Profiler-Daten als Sitzungen speichern. Diese werden aufbewahrt, bis Sie beenden Sie Android Studio. Durch das Aufzeichnen von Profilinformationen in mehreren Sitzungen und können Sie die Ressourcennutzung in verschiedenen Szenarien vergleichen.

  • Klicken Sie zum Starten einer neuen Sitzung auf die Schaltfläche Neue Profilerstellungssitzung starten. Schaltfläche „“ und wählen Sie im Drop-down-Menü einen App-Prozess aus.
  • Wenn Sie Trace aufzeichnen oder erfassen: Heap-Dump hinzufügen, fügt Android Studio diese Daten (zusammen mit dem Netzwerk Ihrer App Aktivität) als separaten Eintrag für die aktuelle Sitzung hinzufügen.
  • Wenn Sie der aktuellen Sitzung keine Daten mehr hinzufügen möchten, klicken Sie auf Aktuelle Sitzung beenden Profilerstellungssitzung
  • Um einen Trace zu importieren, der aus einer früheren Ausführung von Android Studio exportiert wurde, klicken Sie auf Neue Profiler-Sitzung starten und wählen Sie Aus Datei laden aus.

Zusätzliche Unterstützung für ältere Geräte aktivieren (API-Level < 26)

Wenn Sie ein Gerät mit Android 7.1 oder niedriger ausführen, können Sie zusätzliche Profildaten anzeigen. Studio muss Monitoring-Logik in die kompilierte App einfügen. Zu diesen zusätzlichen Profildaten gehören: Folgendes:

  • Ereigniszeitachse in allen Profiler-Fenstern
  • Die Anzahl der zugewiesenen Objekte in Memory Profiler
  • Ereignisse für die automatische Speicherbereinigung in Memory Profiler
  • Details zu allen übertragenen Dateien in Network Profiler
<ph type="x-smartling-placeholder">

So aktivieren Sie zusätzliche Unterstützung für ältere Geräte:

  1. Wählen Sie Ausführen > Konfigurationen bearbeiten.
  2. Wählen Sie im linken Bereich Ihr App-Modul aus.
  3. Klicken Sie auf den Tab Profilerstellung und aktivieren Sie das Kontrollkästchen Zusätzliche Unterstützung für ältere Geräte (API-Level < 26).
  4. Erstellen Sie die Anwendung und führen Sie sie noch einmal aus.

Wenn Sie zusätzliche Unterstützung für ältere Geräte aktivieren, wird der Build-Prozess gestartet. Daher sollten Sie sie nur aktivieren, wenn Sie mit der Profilerstellung für Ihre Anwendung beginnen möchten.

<ph type="x-smartling-placeholder">

Eigenständige Profiler ausführen

Mit den eigenständigen Android Studio Profilers können Sie ein Profil für Ihre App erstellen, ohne die gesamte Studio-IDE

So führen Sie die eigenständigen Profiler aus:

  1. Achten Sie darauf, dass der Profiler nicht in Android Studio ausgeführt wird.
  2. Wechseln Sie in das Installationsverzeichnis und in das Verzeichnis bin:

    Windows/Linux: studio-installation-folder/bin

    macOS: Die Verwendung eigenständiger Profiler wird unter macOS nicht unterstützt.

  3. Führen Sie je nach Betriebssystem profiler.exe oder profiler.sh aus. Das Android- Der Ladebildschirm von Studio wird angezeigt. Nach dem Ausblenden des Ladebildschirms wird ein Profiler-Fenster geöffnet.