Penjelasan Rekomposisi
Pelajari cara Compose memperbarui UI.
Penjelasan Rekomposisi adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Apa Itu Rekomposisi?
Rekomposisi adalah saat Compose menjalankan kembali fungsi komposabel Anda untuk memperbarui UI ketika status yang dibacanya berubah. Inilah cara layar tetap selaras dengan data Anda.
Dipicu oleh Pembacaan Status
Compose melacak komposabel mana yang membaca status tertentu. Saat nilai status berubah, hanya komposabel yang membacanya yang dijadwalkan untuk direkomposisi.
Cerdas dan Selektif
Rekomposisi bersifat selektif: Compose berusaha menjalankan ulang sesedikit mungkin. Perubahan pada satu bagian status tidak akan menggambar ulang seluruh layar — hanya bagian yang bergantung padanya.
Melewati Eksekusi
Jika input komposabel tidak berubah, Compose dapat melewati proses menjalankannya kembali sepenuhnya. Dengan begitu, rekomposisi tetap ringan bahkan pada layar yang kompleks.
Komposabel Sering Dijalankan
Karena rekomposisi dapat terjadi sering dan dalam urutan apa pun, komposabel Anda harus aman untuk dijalankan kembali. Memanggilnya berkali-kali harus menghasilkan UI yang sama untuk status yang sama.
Hindari Efek Samping
Jangan melakukan efek samping (panggilan jaringan, menulis file, mengubah variabel bersama) langsung di dalam isi komposabel. Efek tersebut mungkin dijalankan pada setiap rekomposisi. Gunakan status dan API efek sebagai gantinya.
// BAD: runs on every recomposition
@Composable
fun Bad() {
saveToDatabase()
Text("Hi")
}Kemandirian Urutan
Anda tidak boleh mengandalkan komposabel untuk dijalankan dalam urutan atau thread tertentu. Perlakukan setiap pemanggilan sebagai sesuatu yang independen. Kebebasan inilah yang memungkinkan Compose melakukan pengoptimalan secara agresif.
Membaca vs Tidak Membaca
Hanya komposabel yang membaca suatu status yang direkomposisi ketika status itu berubah. Jika Text tidak pernah membaca count, perubahan pada count tidak akan memengaruhinya.
@Composable
fun Demo() {
var count by remember { mutableStateOf(0) }
Text("Static") // never recomposes from count
Text("Count: $count") // recomposes when count changes
Button(onClick = { count++ }) { Text("+") }
}Hindari Loop Rekomposisi
Menulis ke status selama komposisi (bukan di dalam suatu peristiwa) dapat menyebabkan loop rekomposisi tanpa akhir. Perbarui status hanya dari panggilan balik seperti onClick, jangan langsung di dalam isi komposabel.
Terasa Otomatis
Dari sudut pandang Anda, rekomposisi terasa otomatis. Anda mendeklarasikan UI sebagai fungsi dari status, mengubah status dalam panggilan balik, dan Compose menangani proses menjalankan kembali komposabel yang tepat.
Menggabungkan Semuanya
Penghitung ini mendemonstrasikan rekomposisi: mengetuk tombol mengubah count, Compose menjalankan kembali Text yang membacanya, dan angka baru muncul.
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text(text = "Count: $count")
}
}Pemeriksaan Cepat
Kapan Compose merekomposisi suatu komposabel?
Rangkuman
Hal penting tentang rekomposisi:
- Perubahan status memicu komposabel yang membaca status tersebut untuk dijalankan kembali.
- Proses ini selektif dan dapat melewati komposabel yang tidak berubah.
- Komposabel harus bebas dari efek samping dan aman dijalankan kembali dalam urutan apa pun.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penjelasan Rekomposisi” gratis?
Ya — teks lengkap “Penjelasan Rekomposisi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penjelasan Rekomposisi”?
Pelajari cara Compose memperbarui UI. Kamu berlatih Android 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 Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android 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 2 dari 4.
Berapa lama pelajaran “Penjelasan Rekomposisi” 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 Android Academy ini?
Ya. Setiap pelajaran Android 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
- State dengan remember dan mutableStateOf
- Penjelasan Rekomposisi
- Mengangkat State
- rememberSaveable