Kotlin Multiplatform Academy · Pelajaran

CoroutineScope & Siklus Hidup

Kaitkan pekerjaan asinkron bersama ke scope yang tepat dan batalkan

Pelajaran 3 dari 413 langkah

CoroutineScope & Siklus Hidup adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Coroutine Membutuhkan Tempat

Setiap coroutine termasuk dalam sebuah CoroutineScope. Scope menentukan berapa lama pekerjaan boleh berjalan dan kapan pekerjaan tersebut harus berhenti.

Mengapa Scope Sama dengan Siklus Hidup

Kaitkan scope dengan layar atau sesi. Saat hal tersebut berakhir, scope membatalkan coroutine-nya agar tidak ada pekerjaan yang berjalan pada UI yang sudah tidak aktif.

Launch Memulai Pekerjaan

Anda memulai coroutine dengan launch pada sebuah scope. Coroutine tersebut menjalankan blok dan melacaknya sebagai bagian dari scope itu.

scope.launch { refresh() }

Membangun Scope di Kode Bersama

Buat scope dengan Job dan dispatcher. Scope bersama ini dapat menjalankan pekerjaan asinkron untuk ViewModel yang digunakan oleh kedua aplikasi.

val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main)

SupervisorJob Mengisolasi Kegagalan

SupervisorJob mencegah satu anak yang gagal membatalkan saudara-saudaranya. Satu permintaan yang bermasalah tidak akan menghentikan seluruh layar.

Batalkan untuk Membersihkan

Panggil cancel saat pemiliknya tidak lagi ada. Coroutine jaringan atau pewaktu yang tertunda segera berhenti, sehingga kebocoran dan pembaruan yang tidak semestinya dapat dicegah.

fun onCleared() { scope.cancel() }

Pembatalan Bersifat Kooperatif

Coroutine memeriksa pembatalan pada titik-titik penangguhan. Fungsi suspend Anda berhenti dengan rapi, sehingga Anda jarang memerlukan flag manual.

Android Menyediakannya

Di Android, ViewModel sudah menyediakan viewModelScope. Scope tersebut otomatis dibatalkan saat ViewModel dibersihkan, jadi Anda cukup menggunakannya kembali.

viewModelScope.launch { load() }

iOS Membutuhkan Pembatalan Manual

Di iOS tidak ada scope otomatis. Anda menyimpan scope bersama dan memanggil cancel dari Swift saat tampilan menghilang. 📱

Jangan Pernah Menggunakan GlobalScope

Hindari GlobalScope: scope ini berjalan selamanya dan mengabaikan siklus hidup. Coroutine-nya bocor dan mungkin memperbarui layar yang sudah tidak ada.

Tentukan Scope, Lalu Lupakan

Pilih scope yang tepat sekali saja, kemudian pembatalan tidak memerlukan usaha tambahan. Scope yang menyadari siklus hidup menjaga pekerjaan asinkron bersama tetap aman di kedua platform. 🎯

Pemeriksaan Singkat

Mari pastikan Anda memahami cara scope melindungi coroutine.

Ringkasan

Anda telah belajar bahwa CoroutineScope mengaitkan pekerjaan asinkron dengan siklus hidup: launch memulainya, cancel membersihkannya, dan Anda menghindari GlobalScope. 🎉

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 “CoroutineScope & Siklus Hidup” gratis?

Ya — teks lengkap “CoroutineScope & Siklus Hidup” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Multiplatform Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “CoroutineScope & Siklus Hidup”?

Kaitkan pekerjaan asinkron bersama ke scope yang tepat dan batalkan Kamu berlatih Kotlin Multiplatform 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 Kotlin Multiplatform Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform 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 3 dari 4.

Berapa lama pelajaran “CoroutineScope & Siklus Hidup” 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 Kotlin Multiplatform Academy ini?

Ya. Setiap pelajaran Kotlin Multiplatform 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. Fungsi suspend yang Berfungsi di Mana Saja
  2. Dispatcher di Berbagai Platform
  3. CoroutineScope & Siklus Hidup
  4. withContext & Konkurensi Terstruktur
← Kembali ke Kotlin Multiplatform Academy