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. |
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Baseline-Profile erstellen {:#creating-profile-rules}
- JankStats-Bibliothek
- App-Leistung messen