Das Profiling-Modul wurde in Android 16 eingeführt und ermöglicht es Apps, mit Perfetto Profiling-Daten auf öffentlichen Geräten im Feld zu erheben.
- Apps können Profiling-Daten über Java-Heap-Dump, Heap-Profil, Stack-Sampling oder System-Trace anfordern und für jede Methode bestimmte Konfigurationen festlegen.
- Apps können angeben, dass sie Traces bestimmter Ereignisse erhalten möchten. Das System kann den Trace für die Apps starten und beenden.
- Die Ergebnisse werden so bearbeitet, dass sie nur Informationen zum anfragenden Prozess enthalten. Sie werden im Speicherverzeichnis der App zur weiteren Verarbeitung durch die App bereitgestellt.
- Anfragen sind ratenbegrenzt und es gibt keine Garantie, dass sie erfüllt werden.
Modulgrenze
- Profiling Mainline APEX –
com.google.android.profiling:- Profiling API-Oberfläche (Java):
- Code-Speicherort:
packages/modules/Profiling/framework - Prozess:
boot_class_path
- Code-Speicherort:
ProfilingService(Java):- Code-Speicherort:
packages/modules/Profiling/service - Prozess:
system_server
- Code-Speicherort:
- Profiling API-Oberfläche (Java):
Paketformat
Das Profiling-Modul wird als APEX-Paket (com.google.android.profiling) ausgeliefert. Das Modul enthält zwei JAR-Dateien:
framework-profiling.jar: Enthält die API-Oberfläche, mit der ein Aufrufer interagiert. Dies ist Teil des Boot-Classpaths.service-profiling.jar: Enthält einen neuen Systemdienst,ProfilingService. Wird vom Systemserverprozess geladen.
Abhängigkeiten
Dieses Modul hat keine externen Abhängigkeiten.