Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
10 Januari 2024 | - | - | 1.0.0-beta01 | - |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Metrics, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta01") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.0.0
Versi 1.0.0-beta01
10 Januari 2024
API dan fungsi library ini telah stabil selama beberapa waktu. Rilis ini hanya mendorong library ke versi beta.
androidx.metrics:metrics-performance:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit ini.
Versi 1.0.0-alpha04
5 April 2023
Rilis ini mengupdate JankStats ke perbaikan terbaru, yang mencakup informasi pengaturan waktu yang lebih akurat dan komprehensif.
androidx.metrics:metrics-performance:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Perubahan API
cpuDuration
kini lebih akurat, jugatotalDuration
baru di API31 (I59ce8, b/243694893)
Versi 1.0.0-alpha03
27 Juli 2022
androidx.metrics:metrics-performance:1.0.0-alpha03
dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Rilis ini berisi peningkatan minor pada API saat library mendekati versi beta. Salah satu perubahan API menghapus Executor dari metode factory
createAndTrack()
untuk membuat objekJankStats
. Hal ini memiliki implikasi terhadap callbackOnFrameListener
, karena pemroses tersebut sekarang dipanggil pada thread yang mengirimkan data per frame keJankStats
(Thread Utama/UI thread pada versi sebelum API 24, dan threadFrameMetrics
pada API 24+). Selain itu, objekFrameData
yang diteruskan ke pemroses kini digunakan kembali setiap frame, sehingga data dari objek tersebut harus disalin dan di-cache di tempat lain selama callback, karena objek tersebut harus dianggap usang segera setelah pemroses ditampilkan.Ada juga berbagai perbaikan bug, termasuk beberapa masalah serentak.
Terakhir, perbaikan untuk menggunakan kembali
FrameData
(disebutkan di atas) berarti bahwa sekarang tidak ada alokasi per frame karena penayangan metrik frame. Sebelumnya tidak ada banyak alokasi, tetapi pendekatan baru ini berarti Anda dapat menggunakanJankStats
tanpa menimbulkan overhead GC per frame di aplikasi Anda.
Perubahan API
- Memperbarui metode dan nama parameter dalam
PerformanceMetricsState
untuk membuat hasil panggilan tersebut lebih jelas. (I56da5, b/233421985) - Menambahkan pengujian tolok ukur untuk melacak alokasi sehingga menghilangkan beberapa alokasi internal yang terkait dengan pengelolaan dan pelaporan status. Perhatikan bahwa
FrameData
yang diteruskan ke pemroses kini dianggap tidak stabil; struktur tersebut akan digunakan kembali untuk frame berikutnya dan data hanya dapat diandalkan hingga pemroses menampilkan. - Menghapus Executor dari konstruktor untuk
JankStats
; pemroses kini dipanggil di thread mana pun tempat data internal diterima. (I12743)
Perbaikan Bug
- Memperbaiki error karena penghapusan ganda
OnFrameMetricsAvailableListener
(I44094, b/239457413) - Menampilkan logika asli postingan pesan
OnPreDrawListener
di depan antrean, untuk mengetahui waktu render frame yang lebih konsisten dan dapat diprediksi. (I05a43, b/233358407) - Memperbaiki bug
ConcurrentModificationException
ketika daftar delegasi pemroses diubah saat sedang dilakukan iterasi untuk mengirim data per frame. (Ib7693, b/236612357)
Versi 1.0.0-alpha02
29 Juni 2022
androidx.metrics:metrics-performance:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Mengganti nama
MetricsStateHolder
menjadi hanya Holder (dalamPerformanceMetricsState
): (I5a4d9, b/226565716, b/213499234)
Perbaikan Bug
- Memperbaiki masalah pengaturan waktu ketika status dapat diganti dengan nilai baru sebelum frame diproses ketika status lama diperbaiki (aosp/2061892, b/213499234)
- Memperbaiki pengecualian modifikasi serentak dalam menambahkan/menghapus pemroses (aosp/2092714, b/213499234)
- Membuat perhitungan startTime lebih akurat (aosp/2027704, b/213245198)
- Memperbaiki bug dalam implementasi
FrameData.equals()
(aosp/2025866, b/218296544)
Versi 1.0.0-alpha01
9 Februari 2022
androidx.metrics:metrics-performance:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Library
JankStats
menyediakan fungsi untuk menginstrumentasikan dan menerima callback di aplikasi Anda pada saat runtime yang dapat membantu menemukan masalah performa aktual. JankStats
menggabungkan API yang memudahkan memasukkan informasi tentang status UI dengan kemampuan untuk melacak dan melaporkan performa per frame guna memungkinkan developer memahami apakah aplikasi memiliki masalah performa, tetapi kapan dan alasannya.