Metrikler
| Son Güncelleme | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
|---|---|---|---|---|
| 24 Eylül 2025 | - | 1.0.0-rc01 | - | - |
Bağımlılıkları bildirme
Metrikler'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapıtların bağımlılıklarını ekleyin:
Eski
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-rc01" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-rc01") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.0.0
Sürüm 1.0.0-rc01
24 Eylül 2025
androidx.metrics:metrics-performance:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.0.0-beta04
10 Eylül 2025
androidx.metrics:metrics-performance:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü bu commit'leri içerir.
Harici Katkı (External Contribution)
JankStats'teIndexOutOfBoundsExceptiondüzeltildi (I113e5,b/253576508)
Sürüm 1.0.0-beta03
27 Ağustos 2025
androidx.metrics:metrics-performance:1.0.0-beta03 iptal edilir. 1.0.0-beta03 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
IllegalArgumentException("Hiç eklenmemiş olanOnFrameMetricsAvailableListeneröğesini kaldırma girişimi") düzeltildi. Bir pencere donanım hızlandırmalı olmadığında kare zamanlamasını kaydetme girişimi yapılmaz. Bunun nedeni, bu işleminWindow.OnFrameMetricsAvailableListenertarafından desteklenmemesidir. (I8fef2, b/436880904)
Sürüm 1.0.0-beta02
12 Mart 2025
androidx.metrics:metrics-performance:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Kilitlenmeleri düzeltme
DelegatingFrameMetricsListener cannot be cast...(Id891c, b/311218678).
Sürüm 1.0.0-beta01
10 Ocak 2024
Bu kitaplığın API'si ve işlevleri bir süredir kararlıdır. Bu sürüm, kitaplığı beta sürümüne taşır.
androidx.metrics:metrics-performance:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Sürüm 1.0.0-alpha04
5 Nisan 2023
Bu sürümde, daha doğru ve kapsamlı zamanlama bilgilerini içeren en son düzeltmelerle JankStats güncellenir.
androidx.metrics:metrics-performance:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
cpuDurationartık daha doğru ve API31'de yenitotalDuration(I59ce8, b/243694893)
Sürüm 1.0.0-alpha03
27 Temmuz 2022
androidx.metrics:metrics-performance:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
Kitaplık beta sürümüne yaklaştıkça bu sürümde küçük API iyileştirmeleri yapıldı. API değişikliklerinden biri,
createAndTrack()nesnesi oluşturmak için kullanılanJankStatsfabrika yönteminden Executor'ı kaldırıyor. Bu durum,OnFrameListenergeri çağırması için sonuçlar doğurur. Çünkü bu dinleyici artık kare başına verileriJankStats'ye (API 24'ten önceki sürümlerdeki ana/UI iş parçacığı ve API 24'ten sonraki sürümlerdekiFrameMetricsiş parçacığı) ileten iş parçacığında çağrılır. Ayrıca, dinleyiciye iletilenFrameDatanesnesi artık her karede yeniden kullanılır. Bu nedenle, dinleyici döndüğünde bu nesne eski olarak kabul edileceğinden, geri çağırma sırasında bu nesnedeki verilerin başka bir yere kopyalanıp önbelleğe alınması gerekir.Aynı anda yapılan işlemlerle ilgili sorunlar da dahil olmak üzere çeşitli hata düzeltmeleri yapıldı.
Son olarak,
FrameData'nın (yukarıda bahsedilen) yeniden kullanılmasıyla ilgili düzeltme, artık kare metriklerinin iletilmesi nedeniyle kare başına sıfır tahsis olduğu anlamına geliyor. Daha önce çok fazla ayırma işlemi yapılmıyordu ancak yeni yaklaşım sayesinde uygulamanızda kare başına GC ek yükü olmadanJankStatskullanabilirsiniz.
API Değişiklikleri
- Bu aramaların sonuçlarını daha net hale getirmek için
PerformanceMetricsStateiçindeki yöntem ve parametre adları güncellendi. (I56da5, b/233421985) - Ayırmaları izlemek için karşılaştırma testleri eklendi, durum yönetimi ve raporlamayla ilgili bazı dahili ayırmalar kaldırıldı. Dinleyicilere iletilen
FrameDatadeğerinin artık geçici olarak kabul edildiğini unutmayın. Bu yapı, bir sonraki kare için yeniden kullanılır ve veriler yalnızca dinleyici döndürene kadar güvenilirdir. JankStatsiçin oluşturucudan Executor kaldırıldı. Artık dahili verilerin alındığı iş parçacığı üzerinde dinleyiciler çağrılıyor. (I12743)
Hata Düzeltmeleri
OnFrameMetricsAvailableListeneröğesinin iki kez kaldırılması nedeniyle oluşan kilitlenme düzeltildi (I44094, b/239457413)- Daha tutarlı ve öngörülebilir kare zamanlaması için
OnPreDrawListeneriletilerini sıranın başına yerleştirme mantığına geri dönüldü. (I05a43, b/233358407) - Kare başına veri göndermek için yineleme yapılırken dinleyici temsilcileri listesinin de değiştirildiği
ConcurrentModificationExceptionhatası düzeltildi. (Ib7693, b/236612357)
Sürüm 1.0.0-alpha02
29 Haziran 2022
androidx.metrics:metrics-performance:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
MetricsStateHolder, yalnızca Holder olarak yeniden adlandırıldı (PerformanceMetricsStateiçinde): (I5a4d9, b/226565716, b/213499234)
Hata Düzeltmeleri
- Eski durumun doğru olacağı kareler işlenmeden önce durumların yeni değerlerle değiştirilebildiği zamanlama sorunu düzeltildi (aosp/2061892, b/213499234).
- Dinleyicileri ekleme/kaldırma sırasında eşzamanlı değişiklik istisnası düzeltildi (aosp/2092714, b/213499234)
- startTime hesaplamaları daha doğru hale getirildi (aosp/2027704, b/213245198)
FrameData.equals()uygulamasındaki hata düzeltildi (aosp/2025866, b/218296544)
Sürüm 1.0.0-alpha01
9 Şubat 2022
androidx.metrics:metrics-performance:1.0.0-alpha01 iptal edilir. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
JankStatskitaplığı, uygulamanızda çalışma zamanında geri çağırmaları izlemenize ve almanıza olanak tanıyan işlevler sunar. Bu işlevler, gerçek dünyadaki performans sorunlarını bulmanıza yardımcı olabilir.JankStats, kullanıcı arayüzü durumuyla ilgili bilgilerin kolayca eklenmesini sağlayan bir API'yi, kare başına performansı izleme ve raporlama özellikleriyle birleştirerek geliştiricilerin bir uygulamanın performans sorunları olup olmadığını değil, ne zaman ve neden olduğunu anlamasına olanak tanır.