0Pricing
Jetpack Compose Academy · Pelajaran

Scope & Masa Hidup Komponen

Kendalikan berapa lama dependency tetap hidup.

Scope & Masa Hidup Komponen adalah pelajaran Jetpack Compose Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.

Yang Dikendalikan oleh Scope

scope menentukan berapa lama Hilt mempertahankan satu instance dan di mana instance tersebut dibagikan. Scope berkaitan dengan masa hidup, bukan sekadar pembuatan.

Tanpa Scope secara Bawaan

Tanpa anotasi scope, Hilt membuat instance baru setiap kali diminta. Hal ini cocok untuk objek murah yang tidak menyimpan state.

@Provides
fun provideMapper(): Mapper = Mapper() // fresh each time

Component Mencerminkan Android

Hilt menyediakan sekumpulan component yang sesuai dengan masa hidup Android, mulai dari seluruh aplikasi hingga satu tampilan. Masing-masing memiliki instance-nya sendiri.

Seluruh Aplikasi dengan Singleton

SingletonComponent hidup selama aplikasi berjalan. Binding di sini dengan @Singleton dibuat sekali dan dibagikan ke setiap layar.

@InstallIn(SingletonComponent::class)

Masa Hidup per Activity

ActivityComponent mengikuti satu Activity. Gunakan @ActivityScoped untuk membagikan instance di seluruh Activity tersebut dan membuatnya kembali pada Activity baru.

@ActivityScoped
class FormState @Inject constructor()

Scope ViewModel

ViewModelComponent mengikuti masa hidup ViewModel. Dengan @ViewModelScoped, sebuah dependensi hanya dibagikan di dalam satu ViewModel tersebut.

@ViewModelScoped
class SessionCache @Inject constructor()

Scope Sama dengan Anotasi Ditambah Component

Setiap scope annotation berpasangan dengan satu component. @Singleton berpasangan dengan SingletonComponent, @ActivityScoped dengan ActivityComponent, dan seterusnya.

Masa Hidup Membentuk Hierarki

Component tersusun bertingkat: Activity hidup di dalam aplikasi, dan Fragment di dalam Activity. Turunan dapat menggunakan apa pun yang disediakan induknya.

Gunakan Scope dengan Bijak

Penggunaan scope membutuhkan memori, karena instance dipertahankan hingga component-nya berakhir. Batasi scope hanya pada objek yang state-nya benar-benar perlu dibagikan.

Hindari Kebocoran Scope yang Lebih Luas

Jangan pernah menginjeksi objek yang masa hidupnya singkat, seperti Activity, ke dalam Singleton. Pemilik yang masa hidupnya lebih panjang akan mempertahankannya dan menyebabkan kebocoran memori. ⚠️

Memilih Scope yang Tepat

Sesuaikan scope dengan masa hidup data: konfigurasi aplikasi di Singleton, state layar di ViewModelScoped. Kesesuaian yang tepat mencegah kebocoran dan pemborosan.

Pemeriksaan Singkat

Anda menginginkan satu instance bersama selama masa hidup seluruh aplikasi. Scope mana yang tepat?

Ringkasan: Masa Hidup Terkendali

Anda mempelajari bahwa scope mengikat masa hidup instance ke component, mulai dari Singleton hingga ViewModel, sehingga dependensi hidup tepat selama dibutuhkan. 🎯

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Scope & Masa Hidup Komponen” gratis?

Ya — teks lengkap “Scope & Masa Hidup Komponen” 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 “Scope & Masa Hidup Komponen”?

Kendalikan berapa lama dependency tetap hidup. 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 4 dari 4.

Berapa lama pelajaran “Scope & Masa Hidup Komponen” 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. Mengapa DI: Kode yang Mudah Diuji dan Tidak Terikat
  2. Modul, @Provides & @Binds
  3. hiltViewModel & @HiltViewModel
  4. Scope & Masa Hidup Komponen
← Kembali ke Jetpack Compose Academy