Ghi lại dấu vết hệ thống
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Dấu vết hệ thống cho bạn thấy các hoạt động và mức sử dụng tài nguyên trên toàn hệ thống, nhờ đó, bạn có thể biết cách các quy trình của ứng dụng được lên lịch và chạy. Chế độ xem dấu vết hệ thống trong Trình phân tích tài nguyên của Android Studio thường được dùng để điều tra những vấn đề sau:
- Cách các quy trình ứng dụng và hệ thống được phân phối trên các lõi và luồng của thiết bị.
- Mức độ mượt mà khi giao diện người dùng kết xuất.
- Mức sử dụng pin ở cả cấp thiết bị và cấp ứng dụng.
Trang này cung cấp thông tin tổng quan về những hình ảnh thường dùng nhất trong chế độ xem dấu vết hệ thống. Xem bảng chú giải biểu đồ để biết thêm thông tin về những hình ảnh dữ liệu không được mô tả ở đây. Để biết thêm các ví dụ chi tiết về những trường hợp nên sử dụng tính năng theo dõi hệ thống, hãy xem các trang khác trong phần này.
Sau khi ghi lại dấu vết hệ thống, bạn sẽ thấy các hình ảnh trực quan sau đây xuất hiện trên dòng thời gian. Bạn nên tập trung vào cách các tài nguyên hệ thống khác nhau tương quan với nhau; ví dụ: nếu nhận thấy mức tăng đột biến về nguồn điện của modem, bạn nên chuyển đến phần luồng và xem hoạt động nào của luồng có thể gây ra mức tăng đột biến vào thời điểm đó.

- Mức sử dụng CPU: Cho biết mức sử dụng CPU của ứng dụng dưới dạng phần trăm tổng công suất CPU có sẵn theo thời gian. Đánh dấu một phần trên dòng thời gian để lọc thông tin chi tiết cho khoảng thời gian đó.
- Tương tác: Hiển thị sự kiện tương tác của người dùng và sự kiện trong vòng đời ứng dụng trong suốt tiến trình (yêu cầu quy trình ứng dụng có thể gỡ lỗi và thiết bị chạy API cấp 26 trở lên).
- Hiển thị: Cho biết thông tin liên quan đến mức độ mượt mà khi giao diện người dùng của ứng dụng kết xuất. Chọn Vòng đời để kiểm tra thời gian cần thiết để ứng dụng của bạn kết xuất từng khung trên luồng chính và
RenderThread
. Thông tin này hữu ích cho việc điều tra các nút thắt cổ chai khiến giao diện người dùng bị giật và tốc độ khung hình thấp.
Luồng: Cho biết các luồng mà ứng dụng và nhiều quy trình hệ thống chạy trên đó. Để tìm hiểu cách sử dụng tính năng theo dõi trên hệ thống để điều tra và giúp giao diện người dùng bớt giật, hãy xem phần Phát hiện giao diện người dùng bị giật.
Lưu ý: Khi kiểm tra tiến trình của
Threads, bạn có thể dùng các phím tắt sau:
- Phóng to: Nhấn phím W hoặc cuộn con lăn chuột trong khi giữ phím Ctrl (Command trên macOS).
- Thu nhỏ: Nhấn phím S hoặc cuộn con lăn chuột về phía sau trong khi giữ phím Ctrl (Command trên macOS).
- Kéo sang trái: Nhấn phím A hoặc kéo chuột sang phải trong khi giữ phím dấu cách.
- Kéo sang phải: Nhấn phím D hoặc kéo chuột sang trái trong khi giữ phím Space.
- Mở rộng hoặc thu gọn một luồng: Nhấp đúp vào tên luồng hoặc nhấn phím Enter khi chọn một luồng.
Các lõi CPU: Cho biết hoạt động trên từng lõi trong thiết bị của bạn. Khi xem hoạt động theo nhân, bạn có thể biết được nhân nào là nhân"chính" hay nhân "phụ" trong các bộ xử lý trên thiết bị di động hiện nay. Giữ con trỏ trên một hoạt động luồng để xem lõi này đang chạy trên luồng nào tại một thời điểm cụ thể.

Bộ nhớ xử lý (RSS): Cho biết dung lượng bộ nhớ thực tế mà ứng dụng đang sử dụng. Để biết thêm thông tin chi tiết, hãy xem chú thích về biểu đồ.
Power Rails (Đường dẫn nguồn): Xuất hiện khi bạn lập hồ sơ trên một thiết bị thực. Để biết thêm thông tin, hãy xem bài viết Kiểm tra mức sử dụng pin.
Pin: Cho biết mức sử dụng pin của ứng dụng.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-27 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."]]