Metrikler
Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
12 Mart 2025 | - | - | 1.0.0-beta02 | - |
Bağımlılıkları beyan etme
Metrics bağımlılığı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanızın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta02") }
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ştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.0.0
Sürüm 1.0.0-beta02
12 Mart 2025
androidx.metrics:metrics-performance:1.0.0-beta02
yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
DelegatingFrameMetricsListener cannot be cast...
kilitlenmelerini düzeltin (Id891c, b/311218678).
Sürüm 1.0.0-beta01
10 Ocak 2024
Bu kitaplığın API'si ve işlevleri bir süredir sabit. Bu sürümde kitaplık beta sürümüne geçirilmiştir.
androidx.metrics:metrics-performance:1.0.0-beta01
yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
Sürüm 1.0.0-alpha04
5 Nisan 2023
Bu sürümde JankStats, daha doğru ve kapsamlı zamanlama bilgileri içeren en son düzeltmelerle güncellenmiştir.
androidx.metrics:metrics-performance:1.0.0-alpha04
yayınlanır. 1.0.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
cpuDuration
artık daha doğru, ayrıca API31'de yenitotalDuration
(I59ce8, b/243694893)
Sürüm 1.0.0-alpha03
27 Temmuz 2022
androidx.metrics:metrics-performance:1.0.0-alpha03
yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.
Bu sürüm, kitaplık beta sürümüne yaklaştıkça API'de yapılan küçük iyileştirmeleri içerir. API değişikliklerinden biri,
JankStats
nesnesi oluşturmak içincreateAndTrack()
fabrika yönteminden Executor'ı kaldırır. Bu dinleyici artık kare başına verileriJankStats
'a (API 24'ten önceki sürümlerde Main/UI iş parçacığı ve API 24 ve sonraki sürümlerdeFrameMetrics
iş parçacığı) ileten iş parçacığında çağrıldığı için bu durumOnFrameListener
geri çağırma işlevi için de geçerlidir. Ayrıca, dinleyiciye iletilenFrameData
nesnesi artık her karede yeniden kullanılır. Bu nedenle, dinleyici geri döner dönmez bu nesne geçersiz kabul edileceğinden, bu nesnenin verileri geri çağırma sırasında başka bir yere kopyalanıp önbelleğe alınmalıdır.Bazı eşzamanlılık sorunları da dahil olmak üzere çeşitli hata düzeltmeleri de yapıldı.
Son olarak,
FrameData
(yukarıda bahsedilen) için yapılan yeniden kullanma düzeltmesi, kare metrikleri yayını nedeniyle artık kare başına sıfır tahsis olduğunu gösterir. Daha önce çok fazla tahsis yoktu ancak yeni yaklaşım, uygulamanızda kare başına GC yükü oluşturmadanJankStats
kullanabileceğiniz anlamına geliyor.
API Değişiklikleri
- Bu çağrıların sonuçlarını daha net hale getirmek için
PerformanceMetricsState
'teki yöntem ve parametre adları güncellendi. (I56da5, b/233421985) - Ayırma işlemlerini izlemek için karşılaştırma testleri eklendi, durum yönetimi ve raporlamayla ilgili bazı dahili ayrımlar kaldırıldı. Dinleyicilere iletilen
FrameData
değerinin artık değişken olarak kabul edildiğini unutmayın. Bu yapı, sonraki kare için yeniden kullanılır ve veriler yalnızca dinleyici geri dönene kadar güvenilirdir. JankStats
için oluşturucudan Executor kaldırıldı; dinleyiciler artık dahili verilerin alındığı iş parçacığında çağrılıyor. (I12743)
Hata Düzeltmeleri
OnFrameMetricsAvailableListener
'ün iki kez kaldırılması nedeniyle kilitlenme düzeltildi (I44094, b/239457413)- Daha tutarlı ve tahmin edilebilir kare zamanlaması için
OnPreDrawListener
mesajı kuyruğun başına yayınlama orijinal mantığına geri dönüldü. (I05a43, b/233358407) - Çerçeve başına veri göndermek için iterasyon yapılırken dinleyici temsilcilerinin listesinin değiştirildiği
ConcurrentModificationException
hatası düzeltildi. (Ib7693, b/236612357)
Sürüm 1.0.0-alpha02
29 Haziran 2022
androidx.metrics:metrics-performance:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
MetricsStateHolder
,PerformanceMetricsState
içinde yalnızca Sahip olarak yeniden adlandırıldı: (I5a4d9, b/226565716, b/213499234)
Hata Düzeltmeleri
- Durumların, kareler işlenmeden önce yeni değerlerle değiştirilebildiği ve eski durumun doğru olacağı durumlarda (aosp/2061892, b/213499234) zamanlama sorunu düzeltildi
- Dinleyici ekleme/kaldırma işleminde eşzamanlı değişiklik istisnası düzeltildi (aosp/2092714, b/213499234)
- startTime hesaplamalarını daha doğru hale getirdi (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
yayınlanır. 1.0.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
JankStats
kitaplığı, gerçek hayattaki performans sorunlarını bulmanıza yardımcı olabilecek, uygulamanızda çalışma zamanında enstrümentasyon ve geri çağırma alma işlevi sağlar.JankStats
, kullanıcı arayüzü durumuyla ilgili bilgileri eklemeyi kolaylaştıran bir API'yi, geliştiricilerin bir uygulamada performans sorunu olup olmadığını değil, ne zaman ve neden olduğunu anlamalarını sağlamak için kare başına performansı izleme ve raporlama özellikleriyle birleştirir.