Prerna Jaiswal
07/24/2024, 8:08 AMSergey Dmitriev
07/24/2024, 8:12 AMPrerna Jaiswal
07/24/2024, 8:14 AMSergey Dmitriev
07/24/2024, 8:16 AMSergey Dmitriev
07/24/2024, 8:17 AMPrerna Jaiswal
07/24/2024, 8:19 AMSergey Dmitriev
07/24/2024, 8:20 AMonDispose
instead… (however I’m not sure where are these logs are coming from)
The short answer is yes, if you don’t see it on the screen it is destroyedPrerna Jaiswal
07/24/2024, 8:22 AMPrerna Jaiswal
07/24/2024, 8:31 AMSergey Dmitriev
07/24/2024, 8:36 AM@Composable
fun Screen() {
LaunchedEffect(Unit) {
// Screen created
}
DisposableEffect(Unit) {
onDispose {
// Screen destroyed
}
}
}
Prerna Jaiswal
07/24/2024, 8:37 AM@Composable
fun Decorator(
content: @Composable () -> Unit
) {
val lifecycleOwner = LocalLifecycleOwner.current
DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event ->
when (event) {
Lifecycle.Event.ON_CREATE -> {
// Send page start event
}
else -> {
}
}
}
lifecycleOwner.lifecycle.addObserver(observer)
onDispose {
lifecycleOwner.lifecycle.removeObserver(observer)
// Send page unload event
}
}
content()
}
Prerna Jaiswal
07/24/2024, 8:38 AMSergey Dmitriev
07/24/2024, 8:39 AMSergey Dmitriev
07/24/2024, 8:40 AMPrerna Jaiswal
07/24/2024, 8:41 AMSergey Dmitriev
07/24/2024, 8:42 AMPrerna Jaiswal
07/24/2024, 8:43 AMSergey Dmitriev
07/24/2024, 8:48 AMDisposableEffect(Unit) {
// Screen created and displayed
onDispose {
// Screen removed and destroyed
}
}
Sergey Dmitriev
07/24/2024, 8:49 AMlifecycleOwner
may be pointing to different things: Activity, Fragment or NavHost depending on your setup, so it has nothing to do with your ComposablePrerna Jaiswal
07/24/2024, 8:49 AMStylianos Gakis
07/24/2024, 10:03 AM