Ghi lại Chỉ số Macrobenchmark

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.

Chỉ số là loại thông tin chính được lấy từ các điểm chuẩn của bạn. Các chỉ số này được chuyển đến hàm measureRepeated dưới dạng List, cho phép bạn chỉ định nhiều chỉ số được đo lường cùng một lúc. Cần có ít nhất một loại chỉ số để chạy điểm chuẩn.

Đoạn mã sau đây chỉ ra thời gian kết xuất khung hình và chỉ số phần theo dõi tùy chỉnh.

Kotlin

benchmarkRule.measureRepeated(
    packageName = TARGET_PACKAGE,
    metrics = listOf(
        FrameTimingMetric(),
        TraceSectionMetric("RV CreateView"),
        TraceSectionMetric("RV OnBindView"),
    ),
    // ...
)

Java

benchmarkRule.measureRepeated(
    /* packageName */ TARGET_PACKAGE,
    /* metrics */ Arrays.asList(
        new StartupTimingMetric(),
        new TraceSectionMetric("RV CreateView"),
        new TraceSectionMetric("RV OnBindView"),
    ),
    /* iterations */ 5,
    // ...
);

Kết quả đo điểm chuẩn được xuất sang Android Studio, như được hiển thị trong hình sau. Nếu bạn xác định nhiều chỉ số, thì tất cả các chỉ số đó sẽ được kết hợp với dữ liệu đầu ra.

Kết quả của Số liệu phần theo dõi và Khung thời gian khung

Chỉ số thời gian khởi động

StartupTimingMetric thu thập chỉ số thời gian khởi động ứng dụng bằng các giá trị sau:

  • timeToInitialDisplayMs – Thời gian từ khi hệ thống nhận được ý định khởi chạy cho đến khi hiển thị khung đầu tiên của Hoạt động đích,
  • timeToFullDisplayMs – Thời gian từ khi hệ thống nhận được ý định khởi chạy cho đến khi ứng dụng báo cáo đầy đủ thông qua phương thức reportFullyDrawn. Quá trình đo lường sẽ dừng khi hoàn tất quá trình hiển thị khung đầu tiên sau (hoặc chứa) lệnh gọi reportFullyDrawn(). Phương pháp đo lường này có thể không có trên Android 10 (API cấp 29) trở xuống.

Để biết thêm thông tin về những yếu tố góp phần ảnh hưởng đến thời gian khởi động ứng dụng, xem trang thời gian khởi động ứng dụng.

Kết quả của Chỉ số khởi động

Chỉ số khung thời gian

FrameTimingMetric ghi lại thông tin thời gian từ các khung hình do một điểm đánh dấu tạo ra, chẳng hạn như cuộn hoặc ảnh động và cho ra các giá trị sau:

  • frameOverrunMs – Khoảng thời gian một khung thời gian cụ thể đã bỏ lỡ thời hạn. Số dương cho biết khung bị rớt và có hiện tượng giật / tách thấy, số âm cho biết tốc độ nhanh hơn thời hạn của khung. Chỉ có trên Android 12 (API cấp độ 31) trở lên.
  • frameDurationCpuMs – Thời gian cần để tạo khung hình trên CPU – trên cả Giao diện người dùng và Chuỗi kết xuất.

Các số đo này được thu thập trong phạm vi phân phối: phân vị thứ 50, 90, 95 và 99.

Để biết thêm thông tin về cách xác định và cải thiện khung hình chậm, xem phần Kết xuất chậm.

Kết quả chỉ số Khung thời gian

Số liệu phần theo dõi (thử nghiệm)

TraceSectionMetric chụp thời gian do một phần theo dõi khớp với thời gian đã cung cấpsectionName và kết quảphút, trung vịtối đa thời gian (tính bằng mili giây). Phần theo dõi được xác định bằng lệnh gọi hàm trace(sectionName){} hoặc mã giữa Trace.beginSection(sectionName)Trace.endSection() (hoặc biến thể không đồng bộ). Thuộc tính này luôn chọn bản sao đầu tiên của phần theo dõi được thu thập trong một quá trình đo lường.

Để biết thêm thông tin về việc theo dõi, hãy xem Tổng quan về tính năng theo dõi hệ thốngXác định sự kiện tùy chỉnh.

Kết quả Số liệu phần theo dõi