Metrics

  
Theo dõi và báo cáo nhiều chỉ số thời gian chạy cho ứng dụng.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành Alpha
Ngày 27 tháng 7 năm 2022 - - - 1.0.0-alpha03

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Metrics, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-alpha03")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Hãy xem tài liệu về công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.0.0

Phiên bản 1.0.0-alpha03

Ngày 27 tháng 7 năm 2022

Phát hành androidx.metrics:metrics-performance:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

  • Bản phát hành này chứa một số nội dung tinh chỉnh nhỏ trong API khi thư viện sắp gần đến giai đoạn thử nghiệm beta. Một trong những thay đổi về API sẽ xóa Trình thực thi khỏi phương thức ban đầu của createAndTrack() để tạo đối tượng JankStats. Điều này ảnh hưởng đến lệnh gọi lại OnFrameListener, vì trình nghe đó hiện được gọi trên luồng (thread) sẽ phân phối dữ liệu trên mỗi khung hình cho JankStats (luồng Chính/giao diện người dùng trên các phiên bản trước API 24 và chuỗi FrameMetrics trên API 24 trở lên). Hơn nữa, đối tượng FrameData được truyền đến trình nghe hiện được sử dụng lại trong mọi khung. Vì vậy, dữ liệu từ đối tượng đó phải được sao chép và lưu vào bộ nhớ đệm ở nơi khác trong quá trình gọi lại, vì đối tượng đó sẽ được coi là đã lỗi thời ngay khi trình nghe trả về.

  • Ngoài ra, chúng tôi cũng sửa nhiều lỗi khác nhau, trong đó có một số vấn đề đồng thời.

  • Cuối cùng, bản sửa lỗi để sử dụng lại FrameData (đã đề cập ở trên) có nghĩa là hiện không có lượt phân bổ nào cho mỗi khung do việc phân phối chỉ số khung. Trước đây không có nhiều phương thức phân bổ, nhưng phương pháp mới có nghĩa là bạn có thể sử dụng JankStats mà không phải chịu bất kỳ chi phí GC nào cho mỗi khung hình trong ứng dụng của mình.

Thay đổi API

  • Cập nhật tên phương thức và tham số trong PerformanceMetricsState để kết quả của các lệnh gọi đó rõ ràng hơn. (I56da5, b/233421985)
  • Thêm các thử nghiệm đo điểm chuẩn để theo dõi quá trình phân bổ, loại bỏ một số quá trình phân bổ nội bộ liên quan đến việc quản lý và báo cáo trạng thái. Lưu ý là FrameData được truyền đến trình nghe hiện được cho là không ổn định; cấu trúc đó sẽ được sử dụng lại cho khung tiếp theo và dữ liệu chỉ đáng tin cậy cho đến khi trình nghe trả về.
  • Xóa Trình thực thi khỏi hàm khởi tạo cho JankStats; trình nghe hiện được gọi trên bất kỳ luồng nào mà dữ liệu nội bộ đã nhận được. (I12743)

Sửa lỗi

  • Khắc phục sự cố do xóa hai lần của OnFrameMetricsAvailableListener (I44094, b/239457413)
  • Quay lại logic ban đầu của việc đăng thông báo OnPreDrawListener ở đầu hàng đợi để có thời gian kết xuất khung nhất quán và dễ dự đoán hơn. (I05a43, b/233358407)
  • Khắc phục lỗi ConcurrentModificationException trong đó danh sách trình nghe được ủy quyền đang được sửa đổi trong khi nó cũng lặp lại để gửi dữ liệu trên mỗi khung hình. (Ib7693, b/236612357)

Phiên bản 1.0.0-alpha02

Ngày 29 tháng 6 năm 2022

Phát hành androidx.metrics:metrics-performance:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Thay đổi API

Sửa lỗi

  • Khắc phục vấn đề về thời gian mà các trạng thái có thể được thay thế bằng các giá trị mới trước khi khung hình được xử lý khi trạng thái cũ đã chính xác (aosp/2061892, b/213499234)
  • Khắc phục ngoại lệ sửa đổi đồng thời trong việc thêm/xóa trình xử lý (aosp/2092714, b/213499234)
  • Giúp tính toán startTime chính xác hơn (aosp/2027704, b/213245198)
  • Đã khắc phục lỗi trong quá trình triển khai FrameData.equals() (aosp/2025866, b/218296544)

Phiên bản 1.0.0-alpha01

Ngày 9 tháng 2 năm 2022

Phát hành androidx.metrics:metrics-performance:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Thư viện JankStats cung cấp chức năng đo lường và nhận lệnh gọi lại trong ứng dụng của bạn trong thời gian chạy, nhờ đó, bạn có thể tìm thấy các vấn đề về hiệu suất trong thực tế.
  • JankStats kết hợp một API giúp bạn dễ dàng chèn thông tin về trạng thái giao diện người dùng với các tính năng theo dõi và báo cáo hiệu suất trên mỗi khung hình nhằm giúp nhà phát triển nắm được liệu một ứng dụng có gặp vấn đề về hiệu suất hay không, không bao gồm thời điểm và lý do.