Yaşam Döngüsünü Oluşturma ile entegre etme

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
  }
}