Paul Woitaschek
11/01/2023, 10:39 PMHorizontalPager(
modifier = Modifier.fillMaxSize(),
pageCount = 42
) { currentPage ->
remember(currentPage) {
Log.d("remember", "remember page $currentPage")
42
}
Text(
modifier = Modifier.fillMaxSize(),
text = "Page $currentPage"
)
}
ephemient
11/01/2023, 11:26 PMAlbert Chang
11/02/2023, 7:39 AMmovableContentOf
doesn't prevent the content inside from being disposed when the call to the movable content is disposed. You can just set a appropriate beyondBoundsPageCount
to make sure the pages are not disposed.Paul Woitaschek
11/02/2023, 7:41 AMephemient
11/02/2023, 7:45 AMmovableContentOf
will help if you move the content outside of the pagerAlbert Chang
11/02/2023, 7:46 AMval content = remember { movableContentOf { ... } }
content() // When this call is disposed (and not moved to anywhere else), content inside will also be disposed
rememberSaveableInMemoryOnlyAndIgnoreBundlePersistence
you want is probably just something as simple as
val map = remember { mutableMapOf<Int, Something>() }
HorizontalPager { currentPage ->
map.getOrPut(currentCompositeKeyHash) {
Something()
}
}
Paul Woitaschek
11/02/2023, 11:00 AM