Metrikler
Son Güncelleme | Kararlı Sürüm | Serbest Bırakma Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
10 Ocak 2024 | - | - | 1.0.0-beta01 | - |
Bağımlılıkları bildirme
Metrics'e bağımlılık eklemek için projenize Google Maven deposunu 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 ihtiyaç duyduğunuz yapıların bağımlılıklarını ekleyin:
Groovy
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta01") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap 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 belgelerine bakın.
Sürüm 1.0.0
Sürüm 1.0.0-beta01
10 Ocak 2024
Bu kitaplığın API'si ve işlevleri bir süredir değişmedi. Bu sürümle yalnızca kitaplığı beta sürüme geçirirsiniz.
androidx.metrics:metrics-performance:1.0.0-beta01
yayınlandı. 1.0.0-beta01 sürümü bu kayıtları 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üzeltmelere güncellenmektedir.
androidx.metrics:metrics-performance:1.0.0-alpha04
yayınlandı. 1.0.0-alpha04 sürümü bu kayıtları 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ınlandı. Sürüm 1.0.0-alpha03 bu kayıtları içerir.
Kitaplık beta sürümüne yaklaştıkça bu sürümde küçük API ayrıntılandırmaları yapılır. API değişikliklerinden biri,
JankStats
nesnesi oluşturmak için YürütücüyücreateAndTrack()
fabrika yönteminden kaldırır. Bu,OnFrameListener
geri çağırmasını etkiler. Çünkü bu işleyici artık, çerçeve başına verileriJankStats
öğesine (API 24'ten önceki sürümlerdeki Ana/Kullanıcı Arayüzü iş parçacığı ve API 24 ve sonraki sürümlerdekiFrameMetrics
iş parçacığı) ileten iş parçacığında çağrılır. Ayrıca, işleyiciye iletilenFrameData
nesnesi artık her karede yeniden kullanılır. Bu nedenle, geri çağırma sırasında söz konusu nesne geri çağırma sırasında eski olduğu için söz konusu nesnedeki veriler kopyalanıp önbelleğe alınmalıdır.Ayrıca, bazı eşzamanlılık sorunları dahil olmak üzere çeşitli hata düzeltmeleri de yapıldı.
Son olarak,
FrameData
ürününün yeniden kullanılmasına yönelik düzeltme (yukarıda belirtilmiştir), kare metriklerinin yayınlanması nedeniyle artık kare başına sıfır ayırma olduğu anlamına gelir. Daha önce çok fazla ayırma yoktu ancak yeni yaklaşım,JankStats
ürününü uygulamanızda kare başına herhangi bir GC ek yüküne neden olmadan kullanabileceğiniz anlamına geliyor.
API Değişiklikleri
- Bu çağrıların sonuçlarını daha net hale getirmek için
PerformanceMetricsState
içindeki yöntem ve parametre adları güncellendi. (I56da5, b/233421985) - Ayırmaları izlemek için karşılaştırma testleri eklendi, devlet yönetimi ve raporlamayla ilgili bazı dahili tahsisler ortadan kaldırıldı. İşleyicilere iletilen
FrameData
artık değişken olarak kabul edilir. Bu yapı sonraki kare için yeniden kullanılır ve veriler yalnızca işleyici geri dönene kadar güvenilir olur. JankStats
için oluşturucudan Yürütücü kaldırıldı. İşleyiciler artık dahili verilerin alındığı iş parçacığında çağrılıyor. (I12743)
Hata Düzeltmeleri
OnFrameMetricsAvailableListener
sürümünün (I44094, b/239457413) iki kez kaldırılmasından kaynaklanan kilitlenme düzeltildi- Daha tutarlı ve tahmin edilebilir kare zamanlaması için
OnPreDrawListener
mesajlarını sıranın önünde yayınlama mantığına dönün. (I05a43, b/233358407) - Kare başına veri göndermek için yinelenirken dinleyici yetkisi verilmiş kullanıcılar listesinin değiştirilmesine neden olan
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ınlandı. Sürüm 1.0.0-alpha02 bu kayıtları içerir.
API Değişiklikleri
MetricsStateHolder
öğesinin adı yalnızca Tutucu olarak değiştirildi (PerformanceMetricsState
içinde): (I5a4d9, b/226565716, b/213499234)
Hata Düzeltmeleri
- Eski durumun doğru olacağı biçimde, kareler işlenmeden önce durumların yeni değerlerle değiştirilebilmesiyle ilgili zamanlama sorunu düzeltildi (aosp/2061892, b/213499234)
- İşleyici ekleme/kaldırmayla ilgili 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
yayınlandı. Sürüm 1.0.0-alpha01 bu kayıtları içerir.
Yeni Özellikler
JankStats
kitaplığı, çalışma zamanında uygulamanızda geri çağırma işlevini kullanma ve bu geri çağırmaları alma işlevleri sağlar. Bu da gerçek hayattaki performans sorunlarını bulmanıza yardımcı olabilir.JankStats
, kullanıcı arayüzü durumuyla ilgili bilgi eklemeyi kolaylaştıran bir API'yi, kare başına performansı izleme ve raporlama özellikleriyle birleştirerek geliştiricilerin bir uygulamada performans sorunu olup olmadığını değil, ne zaman ve neden olduğunu anlamalarını sağlar.