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 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ư 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 TraceSectionMetric và FrameTimingMetric

StartupTimingMetric

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, hãy xem trang thời gian khởi động ứng dụng.

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

FrameTimingMetric

FrameTimingMetric ghi lại thông tin thời gian từ các khung do một điểm chuẩn 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/kết xuất gián đoạn quan sát được, 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à RenderThread.

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, hãy xem phần Kết xuất chậm.

Kết quả FrameTimingMetric

TraceSectionMetric (thử nghiệm)

TraceSectionMetric thu thập thời gian do một phần theo dõi khớp với sectionName đã cung cấp và cho ra thời gian tối thiểu, trung bìnhtối đa (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