Profilerstellung

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
    • ProfilingService (Java):
      • Code-Speicherort: packages/modules/Profiling/service
      • Prozess: system_server

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.