Ghi lại Chỉ số Macrobenchmark

Stay organized with collections Save and categorize content based on your preferences.

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 tuỳ 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 tuỳ chỉnh.

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

PowerMetric (thử nghiệm)

PowerMetric ghi lại sự thay đổi về điện hoặc năng lượng trong khoảng thời gian kiểm thử đối với categories được cung cấp. Mỗi danh mục đã chọn được chia nhỏ thành các thành phần phụ có thể đo lường, trong khi các danh mục không được chọn sẽ được thêm vào chỉ số "bỏ chọn". Lưu ý là các chỉ số đo lường mức tiêu thụ trên toàn hệ thống chứ không phải mức tiêu thụ trên cơ sở từng ứng dụng, đồng thời hiện được giới hạn cho các thiết bị Pixel 6 và Pixel 6 Pro.

  • power<category>Uw – Mức tiêu thụ điện năng trong khoảng thời gian kiểm thử theo danh mục này.
  • energy<category>Uws – Mức năng lượng được truyền trên mỗi đơn vị thời gian trong khoảng thời gian kiểm thử theo danh mục này.

Các danh mục bao gồm: CPU, DISPLAY, GPU, GPS, MEMORY, MACHINE_LEARNING, NETWORK và UNCATEGORIZED.

Với một số danh mục, chẳng hạn như CPU, bạn có thể khó tách riêng công việc do các quy trình khác thực hiện khỏi công việc do ứng dụng của bạn thực hiện. Hãy cố gắng giảm thiểu khả năng gây nhiễu bằng cách xoá hoặc hạn chế các ứng dụng và tài khoản không cần thiết.

Các kết quả về chỉ số điện năng