Модуль Profiling появился в Android 16 и позволяет приложениям собирать данные профилирования с помощью Perfetto на общедоступных устройствах.
- Приложения могут запрашивать профилирование с использованием дампа кучи Java, профиля кучи, выборки стека или трассировки системы и задавать определенные конфигурации для каждого из этих способов.
- Приложения могут регистрировать интерес к получению трассировок определенных событий, а система может запускать и останавливать трассировку для приложений.
- Результаты редактируются, чтобы содержать информацию, относящуюся только к процессу запроса, и доставляются в каталог хранения приложения для дальнейшей обработки.
- Частота запросов ограничена, и их выполнение не гарантируется.
Граница модуля
- Профилирование Mainline APEX –
com.google.android.profiling:- Поверхность API профилирования (Java):
- Местоположение кода:
packages/modules/Profiling/framework - Процесс:
boot_class_path
- Местоположение кода:
ProfilingService(Java):- Расположение кода:
packages/modules/Profiling/service - Процесс:
system_server
- Расположение кода:
- Поверхность API профилирования (Java):
Формат пакета
Модуль профилирования поставляется в виде пакета APEX (com.google.android.profiling). Модуль содержит два JAR-файла:
framework-profiling.jar: содержит поверхность API, с которой взаимодействует вызывающий объект. Это часть bootclasspath.service-profiling.jar: содержит новый системный сервисProfilingService. Загружается процессом системного сервера.
Связанные запросы
У этого модуля нет внешних зависимостей.