Profilerstellung

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
    • 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-Classpaths.
  • service-profiling.jar: Enthält einen neuen Systemdienst, ProfilingService. Wird vom Systemserverprozess geladen.

Abhängigkeiten

Dieses Modul hat keine externen Abhängigkeiten.