Yaşam döngüsü kitaplığı, Jetpack ile entegrasyon yapmanızı sağlayan yerleşik API'ler sunar. Oluştur. Temel API'ler şunlardır:
- Mevcut
Lifecycle.Stateiçin akışlar. - Belirli bir engelleme işlemine dayalı engelleme işlemi yapmanızı sağlayan
LifecycleEffectsLifecycle.Event.
Bu entegrasyonlar, Google Analytics 4'teki Yaşam Döngülerini yönetmek için Hiyerarşi oluşturun. Bu dokümanda, bunları uygulamanızda nasıl kullanabileceğiniz özetlenmektedir.
Akışlarla yaşam döngüsü durumunu toplama
Yaşam döngüsü, geçerli parametreyi sağlayan bir currentStateFlow özelliğini gösterir
Lifecycle.State, Kotlin StateFlow olarak. Bu Flow şu şekilde toplanabilir:
State. Bu şekilde uygulamanız, dönüşüm sürecinde yaşam döngüsündeki değişiklikleri
bileşimi.
val lifecycleOwner = LocalLifecycleOwner.current
val stateFlow = lifecycleOwner.lifecycle.currentStateFlow
…
val currentLifecycleState by stateFlow.collectAsState()
Yukarıdaki örneğe lifecycle-common modülü kullanılarak erişilebilir. İlgili içeriği oluşturmak için kullanılan
currentStateAsState() yöntemi lifecycle-runtime-compose içinde kullanılabilir
modülünü kullanarak mevcut Yaşam Döngüsü durumunu kolayca okumanızı
Tek satır. Aşağıdaki örnekte bu durum gösterilmektedir:
val lifecycleOwner = LocalLifecycleOwner.current
val currentLifecycleState = lifecycleOwner.lifecycle.currentStateAsState()
Yaşam döngüsü olaylarında kod çalıştırın
Ayrıca belirli bir kullanıcı işlemi gerçekleştirdiğinde blok çalıştırmanıza olanak tanıyan LifecycleEffects
Lifecycle.Event gerçekleşir.
LifecycleEventEffect(Lifecycle.Event.ON_START) {
// do something here
}
LifecycleEventEffect'a ek olarak, şunları da kullanabilirsiniz:
LifecycleStartEffect ve LifecycleResumeEffect. Bu API'ler şunlara bağlıdır:
etkinliklerdir. Ayrıca birincil blokta ek bir engelleme sunuyor
bir kod snippet'i ekleyin.
Yaşam Döngüsü BaşlatmaEfekti
LifecycleStartEffect, LifecycleEffect ile benzerdir ancak yalnızca çalıştırılır
Lifecycle.Event.ON_START etkinlikte. Ayrıca, diğer gibi çalışan anahtarları da kabul eder
Anahtar oluşturma. Anahtar değiştiğinde engelleme tekrar çalıştırılacak şekilde tetiklenir.
Bir Lifecycle.Event.ON_STOP etkinliği olduğunda veya efekt bileşimden çıkarken
onStopOrDispose bloğu yürütür. Bu şekilde tüm çalışmalar temizlenebilir.
başlangıç bloğunun bir parçasıydı.
LifecycleStartEffect {
// ON_START code is executed here
onStopOrDispose {
// do any needed clean up here
}
}
Yaşam Döngüsü Özgeçmiş Efekti
LifecycleResumeEffect,
LifecycleStartedEffect ancak Lifecycle.Event.ON_RESUME üzerinde yürütülür
etkinliği oluşturabilirsiniz. Ayrıca, aşağıdakileri gerçekleştiren bir onPauseOrDispose bloğu sağlar:
temizle.
LifecycleResumeEffect {
// ON_RESUME code is executed here
onPauseOrDispose {
// do any needed clean up here
}
}