Запись трассировки системы
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Трассировка системы показывает общесистемные действия и использование ресурсов, поэтому вы можете видеть, как планируются и выполняются процессы вашего приложения. Просмотр системной трассировки в Android Studio Profiler обычно используется для исследования следующего:
- Как приложения и системные процессы распределяются по ядрам и потокам устройства.
- Насколько плавно отображается пользовательский интерфейс.
- Энергопотребление как на уровне устройства, так и на уровне приложения.
На этой странице представлен обзор наиболее часто используемых визуальных элементов в представлении трассировки системы. Дополнительные сведения о визуализациях, не описанных здесь, см. в глоссарии диаграмм . Более подробные примеры использования системной трассировки см. на других страницах этого раздела.
После записи трассировки системы вы увидите следующие визуализации, отображаемые на временной шкале. Вам следует сосредоточиться на том, как коррелируют различные системные ресурсы; например, если вы заметили всплеск напряжения на шине питания модема, вам следует перейти в раздел потоков и посмотреть, какая активность потока могла вызвать всплеск в данный момент.

- Использование ЦП : показывает использование ЦП вашим приложением в процентах от общей доступной мощности ЦП по времени. Выделите раздел временной шкалы, чтобы отфильтровать детали за этот период времени.
- Взаимодействия : отображает взаимодействие пользователя и события жизненного цикла приложения на временной шкале (требуется отлаживаемый процесс приложения и устройство с API уровня 26 или выше).
- Дисплей : отображает информацию о том, насколько плавно отображается пользовательский интерфейс вашего приложения. Выберите «Жизненный цикл» , чтобы узнать, сколько времени требуется вашему приложению для отрисовки каждого кадра в основном потоке и
RenderThread
. Эта информация полезна для исследования узких мест, которые вызывают зависание пользовательского интерфейса и низкую частоту кадров . Потоки : показывает потоки, в которых выполняются ваше приложение и различные системные процессы. Чтобы узнать, как использовать системные трассировки для исследования и уменьшения подтормаживаний пользовательского интерфейса, см. раздел Обнаружение подтормаживаний пользовательского интерфейса .
Совет: При просмотре временной шкалы
потоков доступны следующие ярлыки:
- Увеличение масштаба: нажмите W или прокрутите колесо мыши, удерживая клавишу Ctrl ( Command в macOS).
- Уменьшение масштаба: нажмите S или прокрутите колесо мыши назад, удерживая клавишу Ctrl ( Command в macOS).
- Панорамирование влево: нажмите A или перетащите мышь вправо, удерживая пробел .
- Панорамирование вправо: нажмите D или перетащите мышь влево, удерживая пробел .
- Развертывание или свертывание цепочки. Дважды щелкните имя цепочки или нажмите Enter , когда цепочка выбрана.
Ядра ЦП : показывает активность каждого ядра вашего устройства. Просмотр активности по ядрам может дать вам представление о том, какие ядра являются «большими» или «маленькими» в современных мобильных процессорах. Наведите указатель на активность потока, чтобы увидеть, в каком потоке работает это ядро в данный конкретный момент.

Память процесса (RSS) : показывает объем физической памяти, используемой приложением в данный момент. Более подробную информацию см. в глоссарии диаграмм.
Power Rails : появляется при профилировании на физическом устройстве. Дополнительную информацию см. в разделе Проверка энергопотребления .
Батарея : показывает использование батареи вашим приложением.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[null,null,["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Record a system trace\n\nA system trace shows you system-wide activities and resource usage, so you can\nsee how your app processes are scheduled and run. The system trace view in the\nAndroid Studio Profiler is commonly used to investigate the following:\n\n- How app and system processes are distributed across device cores and threads.\n- How smoothly the UI renders.\n- Power usage at both the device and app level.\n\nThis page provides an overview of the most commonly used visuals in the system\ntrace view. See the [chart glossary](/studio/profile/chart-glossary/flame-chart)\nfor more details about visualizations not described here. For more detailed\nexamples of what to use a system trace for, see the other pages in this section.\n\nAfter you [record a system trace](/studio/profile#start-profiling), you see the\nfollowing visualizations displayed over a timeline. You should focus on how\ndifferent system resources are correlated; for example, if you notice a spike in\nthe modem power rail, you should go to the threads section and see what thread\nactivity could be causing the spike at the time.\n\n- **CPU Usage**: Shows CPU usage of your app as a percentage of total available CPU capacity by time. Highlight a section of the timeline to filter to the details for that time period.\n- **Interactions** : Shows user interaction and app lifecycle events along a timeline (requires a [debuggable](/studio/profile#profileable-v-debuggable) app process and a device running API level 26 or higher).\n- **Display** : Shows info related to how smooth your app UI renders. Select **Lifecycle** to inspect how long it takes your app to render each frame on the main thread and `RenderThread`. This info is helpful for [investigating\n bottlenecks that cause UI jank and low\n framerates](/studio/profile/jank-detection).\n- **Threads** : Shows the threads that your app and various system processes run\n on. To learn about how to use system traces to investigate and help reduce UI\n jank, see [Detect UI jank](/studio/profile/jank-detection).\n\n **Tip:** When inspecting the **Threads** timeline, the following shortcuts are available:\n - **Zoom in:** Press \u003ckbd\u003eW\u003c/kbd\u003e or scroll the mouse wheel while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Zoom out:** Press \u003ckbd\u003eS\u003c/kbd\u003e or scroll the mouse wheel backward while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Pan left:** Press \u003ckbd\u003eA\u003c/kbd\u003e or drag mouse right while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Pan right:** Press \u003ckbd\u003eD\u003c/kbd\u003e or drag mouse left while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Expand or collapse a thread:** Double-click the thread name or press \u003ckbd\u003eEnter\u003c/kbd\u003e while a thread is selected.\n- **CPU cores** : Shows the activity on each core in your device. Viewing the\n activity by core might give you an idea of which ones are the [\"big\" or\n \"little\" cores](https://en.wikipedia.org/wiki/ARM_big.LITTLE) in\n modern mobile processors. Hold the pointer over a thread activity to\n see which thread this core is running on at that particular time.\n\n- **Process Memory (RSS)**: Shows the amount of physical memory currently in use\n by the app. For more details, see the chart glossary.\n\n- **Power Rails** : Appears when you profile on a physical device. For more info,\n see [Inspect power usage](/studio/profile/power-profiler).\n\n- **Battery**: Shows your app's battery usage."]]