Jetpack Compose Academy · Pelajaran

Melewati, @Stable & @Immutable

Tandai tipe agar Compose dapat melewati pekerjaan.

Pelajaran 2 dari 413 langkah

Melewati, @Stable & @Immutable adalah pelajaran Jetpack Compose 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 Jetpack Compose Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.

Kapan Anda Memerlukan Anotasi

Terkadang sebuah tipe benar-benar aman, tetapi Compose tidak dapat membuktikannya. Anotasi memungkinkan Anda menjanjikan stabilitas agar pelewatan dapat berjalan kembali.

Janji @Immutable

@Immutable memberi tahu Compose bahwa setelah sebuah instance dibuat, tidak satu pun propertinya akan berubah. Ini adalah jaminan stabilitas terkuat.

@Immutable
data class Theme(val primary: Long, val radius: Int)

Kapan Menggunakan @Immutable

Gunakan @Immutable untuk data seperti konfigurasi: tema, gaya, dan objek nilai yang dibuat sekali lalu tidak pernah diubah setelah konstruksi.

Janji @Stable

@Stable lebih longgar: properti boleh berubah, tetapi saat berubah, Compose akan diberi tahu melalui status Compose. equals() harus tetap konsisten.

@Stable untuk Tipe yang Dapat Diamati

Gunakan @Stable pada class yang bidang dapat diubahnya didukung oleh mutableStateOf, sehingga Compose tetap melacak setiap perubahan dengan benar.

@Stable
class FormState { var name by mutableStateOf("") }

Melanggar Janji, Merusak Compose

Anotasi ini adalah sebuah kontrak. Jika Anda menandai tipe sebagai stabil tetapi mengubahnya secara diam-diam, UI akan menampilkan data lama dan bug mulai bermunculan.

Pembantu Koleksi yang Tidak Dapat Diubah

Alih-alih menggunakan Daftar, teruskan ImmutableList dari kotlinx.collections.immutable. Compose memperlakukannya sebagai tipe stabil, sehingga komponen daftar yang dapat dikomposisikan dapat dilewati.

fun Tags(items: ImmutableList<String>) { }

Fungsi Tetap Stabil

Parameter lambda sudah stabil, tetapi ingat bahwa lambda yang menangkap nilai yang berubah akan menjadi instance baru pada setiap rekomposisi.

Tandai Seluruh Class Sekali

Satu anotasi pada class mencakup setiap penggunaan tipe tersebut sebagai parameter. Anda tidak perlu memberi anotasi di setiap lokasi pemanggilan.

Anotasi Adalah Pilihan Terakhir

Utamakan ketidakberubahan yang sebenarnya dengan val. Beri anotasi hanya jika kompilator benar-benar tidak dapat menyimpulkan stabilitas sendiri.

Verifikasi, Lalu Percayai

Setelah memberi anotasi, periksa apakah komponen yang dapat dikomposisikan benar-benar dilewati. Janji yang keliru lebih buruk daripada tidak membuat janji sama sekali.

Pemeriksaan Singkat

Pilih anotasi yang tepat.

Ringkasan: Berjanjilah dengan Bijak

Gunakan @Immutable untuk data yang tidak pernah berubah dan @Stable untuk data yang dapat diubah dan didukung status. Patuhi kontraknya, atau UI akan menampilkan informasi yang keliru. ✅

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Melewati, @Stable & @Immutable” gratis?

Ya — teks lengkap “Melewati, @Stable & @Immutable” 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 “Melewati, @Stable & @Immutable”?

Tandai tipe agar Compose dapat melewati pekerjaan. 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 2 dari 4.

Berapa lama pelajaran “Melewati, @Stable & @Immutable” 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

  1. Parameter Stabil vs Tidak Stabil
  2. Melewati, @Stable & @Immutable
  3. Menunda Pembacaan State
  4. Inspektur Layout & Jumlah Rekomposisi
← Kembali ke Jetpack Compose Academy