Tổng quan

API ProfilingManager cho phép bạn thu thập hồ sơ hiệu suất của người dùng thực, chẳng hạn như dấu vết hệ thống và tệp báo lỗi khối xếp Java, từ các thiết bị chính thức chạy Android 15 (API cấp 35) trở lên. Công cụ này hỗ trợ hai cơ chế thu thập: hồ sơ do ứng dụng điều khiển, trong đó ứng dụng của bạn kiểm soát việc thu thập hồ sơ từ bắt đầu đến dừng (Android 15 trở lên) và hồ sơ dựa trên điều kiện kích hoạt, trong đó hệ thống xử lý việc thu thập để phản hồi các sự kiện mà bạn đăng ký quan tâm trên Android 16 (cấp độ API 36) trở lên.

Hướng dẫn này bao gồm các chủ đề sau:

Các loại hồ sơ được hỗ trợ

ProfilingManager hỗ trợ thu thập một số loại hồ sơ để bạn có thể nhắm đến các vấn đề cụ thể về hiệu suất trong ứng dụng. Bạn có thể định cấu hình yêu cầu trực tiếp bằng API nền tảng hoặc bằng trình tạo AndroidX Core:

  • Dấu vết hệ thống: Được ghi lại bằng PROFILING_TYPE_SYSTEM_TRACE hoặc SystemTraceRequestBuilder.
    • Hữu ích cho việc chẩn đoán hiện tượng giật, phân tích độ trễ và gỡ lỗi hiệu suất chung.
  • Tệp báo lỗi vùng nhớ Java: Được ghi lại bằng PROFILING_TYPE_JAVA_HEAP_DUMP hoặc JavaHeapDumpRequestBuilder.
    • Chụp nhanh biểu đồ và kích thước đối tượng vùng nhớ khối xếp Java của ứng dụng để phát hiện lỗi rò rỉ bộ nhớ và tối ưu hoá bộ nhớ.
  • Hồ sơ ảnh chụp nhanh của vùng nhớ khối xếp: Được thu thập bằng PROFILING_TYPE_HEAP_PROFILE hoặc HeapProfileRequestBuilder.
    • Theo dõi quá trình phân bổ bộ nhớ gốc (hoặc Java, không bắt buộc) theo thời gian để giúp tối ưu hoá mức sử dụng bộ nhớ.
  • Lấy mẫu ngăn xếp: Được ghi lại bằng PROFILING_TYPE_STACK_SAMPLING hoặc StackSamplingRequestBuilder.
    • Lấy mẫu ngăn xếp lệnh gọi luồng để giúp bạn hiểu rõ quá trình thực thi mã và phân tích mức sử dụng CPU.

Tích hợp ProfilingManager với một tác nhân AI

Bạn có thể sử dụng tác nhân lập trình AI để tích hợp ProfilingManager vào ứng dụng của mình. Ví dụ: chạy câu lệnh sau trong tác nhân lập trình AI để thiết lập bộ sưu tập trình kích hoạt Lỗi ứng dụng không phản hồi (ANR), thay thế </path/to/codebase> bằng đường dẫn đến ứng dụng của bạn:

Read https://developer.android.com/topic/performance/tracing/profiling-manager/trigger-based-capture
and https://developer.android.com/topic/performance/tracing/profiling-manager/upload-worker
and integrate ProfilingManager ANR trigger collection (TRIGGER_TYPE_ANR) into my
app at </path/to/codebase>, including registering the result listener after app
startup completes and scheduling a WorkManager upload job when a profile is
received.

Bạn có thể điều chỉnh câu lệnh này để thiết lập các trình kích hoạt hệ thống khác (chẳng hạn như TRIGGER_TYPE_OOM) hoặc định cấu hình bản ghi hồ sơ do ứng dụng điều khiển bằng hướng dẫn lập hồ sơ do ứng dụng điều khiển. Sau khi tích hợp, hãy kiểm thử chế độ thiết lập của bạn trên thiết bị cục bộ bằng các lệnh gỡ lỗi để lập hồ sơ cục bộ và phân tích hồ sơ đã thu thập bằng một tác nhân AI.