Benchmark für deine App

Mithilfe von Benchmarking können Sie die Leistung Ihrer App überprüfen und überwachen. Ich können regelmäßig Benchmarks durchführen, um Leistungsprobleme zu analysieren und zu beheben, dass Sie bei kürzlichen Änderungen keine Regressionen eingeführt haben.

Android bietet zwei Benchmarking-Bibliotheken und Ansätze für die Analyse und verschiedene Situationen in Ihrer App testen: MacroBenchmark und Mikro-Benchmark.

Makro-Benchmark

Die MacroBenchmark-Bibliothek misst umfangreichere Endnutzerinteraktionen, z. B. Start, Interaktion mit der Benutzeroberfläche und Animationen. Die Bibliothek bietet direkte Kontrolle über die zu testende Leistungsumgebung. Sie können damit Kompilierung. Damit kannst du deine App starten und beenden, um die tatsächliche App direkt zu messen. oder Scrollen.

Die MacroBenchmark-Bibliothek fügt Ereignisse ein und überwacht die Ergebnisse extern aus einem Test-App, die mit Ihren Tests erstellt wurde. Daher sollten Sie beim Verfassen der Benchmarks Sie rufen nicht den App-Code direkt auf, sondern navigieren in der App Nutzer.

Mikro-Benchmark

Mit der MicroBenchmark-Bibliothek können Sie den App-Code direkt in einer Schleife messen. Dies wurde für die Messung der CPU-Arbeit entwickelt, mit der die Leistung des Best-Case bewertet wird, z. B. wie Just in Time (JIT) und Laufwerkzugriffe im Cache gespeichert. eine innere Schleife oder eine bestimmte Heißfunktion. Die Bibliothek kann nur die Code, den Sie isoliert direkt aufrufen können.

Wenn Ihre Anwendung eine komplexe Datenstruktur verarbeiten muss oder eine bestimmte rechenintensiven Algorithmus, der während der Ausführung der App mehrmals aufgerufen wird, könnten dies gute Fälle für das Benchmarking sein. Sie können auch Teile Ihrer UI. Sie können beispielsweise die Kosten der RecyclerView-Artikelbindung messen, wie lange es dauert, ein Layout zu inblähen, oder wie anspruchsvoll des Bestehens Ihrer View-Klasse ist aus Leistungssicht.

Sie können jedoch nicht messen, wie die Benchmark-Fälle zur User Experience insgesamt. In einigen Szenarien lässt sich aus dem Benchmarking z. B. Verzögerungen oder App-Startzeiten. Aus diesem Grund Es ist wichtig, diese Engpässe zuerst mit dem Android Profiler zu identifizieren. Nachdem Sie den zu untersuchenden und zu optimierenden Code gefunden haben, Loop kann schnell und einfach wiederholt ausgeführt werden, damit es weniger laut ist. So können Sie sich auf einen Bereich der Verbesserung konzentrieren.

Die MicroBenchmark-Bibliothek enthält nur Informationen zu Ihrer App, nicht zu für das gesamte System. Daher ist es am besten, die Leistung von Situationen zu analysieren, die speziell für die App gelten, nicht für allgemeine Systemprobleme.

Vergleich der Benchmarkbibliothek

Makro-Benchmark Mikro-Benchmark
API-Version 23 und höher 14 und höher
Funktion Einstieg in die Unternehmenskategorie messen Punkte oder Interaktionen wie wenn eine Aktivität gestartet oder durch eine Liste scrollen. Einzelne Nutzer analysieren Funktionen.
Aufgabenstellung Out-of-Process-Test für vollständige In-Process-Test der CPU-Arbeit.
Geschwindigkeit Mittlere Iterationsgeschwindigkeit. Es eine Minute überschreiten. Schnelle Iterationsgeschwindigkeit Häufig weniger als 10 Sekunden.
Nachverfolgung Ergebnisse durch Profilerstellung Spuren. Optionale Stichprobenerhebung bei Methoden und Tracing.