LazyColumn и прокручиваемый Column
Поймите, почему ленивые списки хорошо масштабируются.
«LazyColumn и прокручиваемый Column» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
The Long-List Problem
When a list has hundreds of rows, you can't draw them all at once. You need a list that only builds what's actually visible on screen.
A Plain Column Builds Everything
A regular Column composes every single child immediately, even rows far below the screen. With long data, that wastes memory and time.
Column {
items.forEach { Text(it) }
}Column Needs verticalScroll
A plain Column doesn't even scroll on its own. You must add a verticalScroll modifier just to move past the screen edge.
Column(Modifier.verticalScroll(rememberScrollState())) {
items.forEach { Text(it) }
}Meet LazyColumn
A LazyColumn is the scrollable list built for big data. It composes rows on demand as you scroll, so the cost stays small. 🚀
LazyColumn {
// items go here
}Lazy Means On Demand
"Lazy" means a row is only created when it scrolls into view. Off-screen items simply don't exist yet, which keeps things fast and light.
Reuse, Not Rebuild
As rows leave the top, LazyColumn recycles them for new rows entering the bottom. A few dozen rows can serve thousands of items.
The items Block
Inside LazyColumn you describe content with an items block instead of a normal loop. Compose decides which ones to actually build.
LazyColumn {
items(names) { name ->
Text(name)
}
}Scrolling Is Built In
LazyColumn scrolls by default, so you never wrap it in verticalScroll. Adding one would actually cause a crash.
When a Column Is Fine
For a few fixed rows that all fit on screen, a plain Column is simpler and perfect. Reach for LazyColumn only when the list can grow.
Never Nest the Same Direction
Avoid putting a LazyColumn inside a vertically scrolling Column. The two scroll directions clash, and Compose can't measure the height.
Performance Is the Payoff
The big win is performance: smooth scrolling and steady memory no matter how long the data gets. That's why lazy lists scale.
Quick Check
Time to test which list to reach for.
Recap: Lazy Wins for Big Lists
A Column builds everything up front and needs verticalScroll; a LazyColumn builds rows on demand, recycles them, and scales effortlessly. 🎉
Часто задаваемые вопросы
Урок «LazyColumn и прокручиваемый Column» бесплатный?
Да — полный текст урока «LazyColumn и прокручиваемый Column» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.
Чему я научусь в уроке «LazyColumn и прокручиваемый Column»?
Поймите, почему ленивые списки хорошо масштабируются. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?
Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «LazyColumn и прокручиваемый Column»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?
Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- LazyColumn и прокручиваемый Column
- items и itemsIndexed
- Ключи для стабильных быстрых списков
- Закреплённые заголовки и списки разделов