Timo Drick
11/25/2020, 8:27 PMdata class Test(val pos: Int) {
protected fun finalize() {
log("Test finalized: $pos")
}
}
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
var pos by remember { mutableStateOf(0) }
Box(Modifier.fillMaxSize().clickable { pos++ }) {
val test = remember(pos) { Test(pos) }
Text("${test.pos}")
onCommit {
log("Test: $pos commited")
onDispose {
log("Test: $pos disposed")
}
}
}
}
}
}
Siyamed
11/25/2020, 8:30 PMTimo Drick
11/25/2020, 8:31 PMSiyamed
11/25/2020, 8:31 PMSiyamed
11/25/2020, 8:31 PMSiyamed
11/25/2020, 8:31 PMTimo Drick
11/25/2020, 8:32 PMSiyamed
11/25/2020, 8:33 PMTimo Drick
11/25/2020, 8:34 PMTimo Drick
11/25/2020, 8:35 PMTimo Drick
11/25/2020, 8:39 PMclass MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
repeat(10) {
Test(it)
}
}
}
Giorgos Neokleous
11/25/2020, 10:56 PMremember(pos){}
basically store the objects for each different position? Meaning the runtime will "remember" it as nothing replaces it. I'm not sure if there is a way to dispose "remembered" values.Timo Drick
11/25/2020, 11:55 PMTimo Drick
11/26/2020, 12:11 AM.clickable { pos ++ ; System.gc() })
Finalized is getting called.
Sorry