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.State
için akışlar. - Belirli bir engelleme işlemine dayalı engelleme işlemi yapmanızı sağlayan
LifecycleEffects
Lifecycle.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
}
}