повысить производительность?
LazyColumn(contentPadding = PaddingValues(vertical = 16.dp)) {
val categoryItems = searchItems.filter { it.work == null }
items(categoryItems.size) {
val item = categoryItems[it]
if (item.subcategory != null) {
CategoryView(item.subcategory!!, onSelected = {
viewModel.categoryId = item.category!!.id
viewModel.selectedSubCategoryIds = listOf(it.id)
viewModel.selectedTasksIds.value = hashSetOf()
onNext()
})
} else {
CategoryView(item.category!!, onSelected = {
viewModel.categoryId = it.id
onNext()
})
}
Separator(startIndent = 60.dp)
}
вангую, тебе ответят задать ключи и тестить на релизной сборке 🌚 но это не точно
Дебажить на количество рекомпозиций только
val categoryItems = searchItems.filter { it.work == null } Как минимум надо вот это из композиции вытащить, я хз насколько большой этот список, но эта операция выполняется на каждый проскролленный пиксель сейчас. Ещё надо убедиться что searchItems Stable (https://developer.android.com/reference/kotlin/androidx/compose/runtime/Stable) или Immutable (https://developer.android.com/reference/kotlin/androidx/compose/runtime/Immutable) в зависимости от того, что там внутри
Обсуждают сегодня