Parameter Stabil vs Tidak Stabil
Pahami hal yang membuat Composable dapat dilewati.
Parameter Stabil vs Tidak Stabil adalah pelajaran Jetpack Compose Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Jetpack Compose Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
What Skipping Means
When a Composable re-runs but its inputs have not changed, Compose can skip it entirely. Skipping is how fast Compose apps stay fast. 🚀
Stability Decides Skipping
Compose only skips a Composable when every parameter is stable. One unstable input and the whole function re-executes on each recomposition.
What "Stable" Promises
A type is stable when Compose trusts that equals() is reliable and that public properties will not change without telling Compose.
Naturally Stable Types
Primitives, String, and function types are stable out of the box, so passing an Int or a lambda never blocks skipping.
fun Greeting(name: String, count: Int) {
Text("Hello $name x$count")
}val Properties Are Stable
A class with only val properties of stable types is itself stable. Immutable data is the friendliest input you can give Compose.
data class User(val id: Int, val name: String)var Makes a Type Unstable
A mutable var property can change behind Compose's back, so the class becomes unstable and its Composable can no longer skip.
data class Counter(var value: Int)Collections Look Unstable
Plain List, Map, and Set are treated as unstable, because the interface could hide a mutable ArrayList underneath.
fun ItemRow(items: List<String>) { }Why Interfaces Worry Compose
An interface parameter is unstable: the concrete implementation is unknown at compile time, so Compose cannot guarantee its equals() behaves.
Strong Skipping Mode
Newer Compose ships strong skipping, which lets unstable parameters compare by reference, so many cases skip without extra annotations.
Spotting Unstable Inputs
If a Composable redraws every frame for no visible reason, suspect an unstable parameter forcing a full re-run each time.
Stability Is About Trust
Stability is a promise to Compose, not magic. The more immutable your inputs are, the more work Compose is free to skip.
Quick Check
Test your grasp of stability.
Recap: Stable Wins
Compose skips a Composable only when every input is stable. Favor primitives, Strings, and val-only classes to keep redraws cheap. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Parameter Stabil vs Tidak Stabil” gratis?
Ya — teks lengkap “Parameter Stabil vs Tidak Stabil” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Jetpack Compose Academy, upgrade ke CoddyKit PRO. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Parameter Stabil vs Tidak Stabil”?
Pahami hal yang membuat Composable dapat dilewati. Kamu berlatih Jetpack Compose Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Jetpack Compose Academy?
Tidak diperlukan pengalaman sebelumnya. Jetpack Compose Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Parameter Stabil vs Tidak Stabil” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Jetpack Compose Academy ini?
Ya. Setiap pelajaran Jetpack Compose Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Parameter Stabil vs Tidak Stabil
- Melewati, @Stable & @Immutable
- Menunda Pembacaan State
- Inspektur Layout & Jumlah Rekomposisi