Das Profiling-Modul wurde in Android 16 eingeführt und ermöglicht es Apps, Profiling-Daten mit Perfetto auf öffentlichen Geräten im Feld zu erheben.
- Apps können die Profilerstellung mit Java-Heap-Dump, Heap-Profil, Stack-Sampling oder System-Trace anfordern und für jede Methode bestimmte Konfigurationen festlegen.
- Apps können ihr Interesse an Traces bestimmter Ereignisse registrieren und das System kann den Trace für die Apps starten und beenden.
- Die Ergebnisse werden so bearbeitet, dass sie nur Informationen zum Anforderungsprozess enthalten, und an das Speicherverzeichnis der App zur weiteren Verarbeitung durch die App gesendet.
- Für Anfragen gilt eine Ratenbegrenzung und es wird nicht garantiert, dass sie ausgeführt werden.
Modulgrenze
- Profiling von Mainline-APEX-Modulen –
com.google.android.profiling
:- API-Oberfläche profilieren (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:
- API-Oberfläche profilieren (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-Klassenpfads.service-profiling.jar
: Enthält einen neuen Systemdienst,ProfilingService
. Wird vom Systemserverprozess geladen.
Abhängigkeiten
Dieses Modul hat keine externen Abhängigkeiten.