#android #android-jetpack-compose
Вопрос:
Я учусь сочинять Jetpack и в настоящее время работаю над частью LazyList. Я являюсь кодовыми таблицами(в основном), но я нахожу, что производительность LazyList намного ниже, чем у аналогичного пользовательского интерфейса RecyclerView. Есть ли какой-нибудь способ это исправить?( Я использую катушку для загрузки изображений, но это происходит нерегулярно, поэтому я не думаю, что в этом проблема)
Мой код: Ленивый список и сам элемент:
@Composable fun ImageListItem(index: Int) { Row(verticalAlignment = Alignment.CenterVertically) { Image( painter = rememberImagePainter(data = "https://developer.android.com/images/brand/Android_Robot.png"), contentDescription = "Android Icon", modifier = Modifier.size(50.dp) ) Spacer(modifier = Modifier.width(10.dp)) Text("Item number #${index}") } } @Composable fun ImageList(scrollState: LazyListState) { LazyColumn(state = scrollState, contentPadding = PaddingValues(bottom = 10.dp)) { items(100) { ImageListItem(index = it) } } }
Наконец, вызывающая функция :
@Composable fun BodyContent(modifier: Modifier = Modifier) { val scrollState = rememberLazyListState() val coroutineScope = rememberCoroutineScope() Column(horizontalAlignment = Alignment.CenterHorizontally,modifier=Modifier.fillMaxWidth()) { Row { Button(onClick = { coroutineScope.launch { scrollState.animateScrollToItem(0) } }) { Text(text = "Scroll Up") } Button(onClick = { coroutineScope.launch { scrollState.animateScrollToItem(99) } }) { Text("Scroll Down") } } ImageList(scrollState) } }
Комментарии:
1. Я также заметил эту проблему. Я думаю, что все будет хорошо после создания apk-файла.