🌃Asenkrona Giriş
👀 Asenkron İşlemleri Tanıyalım
💫 Ayrı bir Thread üzerinden gerçekleşen bu işlemleri sistemin ilerlemesi engellemez
🙋♂️ İşleri tamamlandığı zaman UI Thread'e dahil olurlar
⭐ AsyncTask veya AsycnTaskLoader yapıları kullanılır
🆚 İkisi Arasındaki Temel Farklar
Her ikisi de sistemi engellemeden çalışan bir yapıya sahiptir
AsyncTask
AsyncTaskLoader
Direkt olan çalışır
Dolaylı olarak çalışır
Yapılandırma ayarları değiştiğinde iptal olur ve yeniden başlatılır
Yapılandırma ayarlarından etkilenmez
Geri dönüş vermeyecek işlemlerde kullanılır
Geri dönüşümlü işlemlerde kullanılır
Kısa ve iptal edilebilir işlemlerde tercih edilir
Uzun ve iptal edilemeyecek işlemlerde tercih edilir
Telefonu döndürme gibi işlemler yapılandırma ayarlarını değiştirir.
Genel olarak AsyncTaskLoader
en sık kullanılan yapıdır.
🧱 UI Thread
Android üzerindeki tüm görüntü işlemlerinin yapıldı alandır.
UI Thread engellenmemeli
UI Thread sadece görsel işlemler için kullanılmalıdır
Tüm işlemler 16ms'den kısa bir sürede tamamlanmalıdır
Yaklaşık olarak 5s'den uzun süren işlemler "application not responding" (ANR) diyaloğunu oluşturur ve kullanıcı bunu görmesi durumunda uygulamayı kapatıp, siler 😥
⭐ Diğer Asenkron İşlemler
🏷️ Etiketleme ile Asenkron
👷♂️
@WorkerThread
gibi etiketlerle asenkron çalışması gereken metotlar tanımlanır🦸♂️ Kod hakimiyetini artırmak için tercih edilir
📢 Thread işlemini otomatik olarak yapmaz, detaylar için buraya bakabilirsin
🧙♂ Detaylı bilgi için Thread annotations alanına bakabilirsin.
🎃 Kotlin Coroutine
🕊️ Thread işlemlerini kolaylaştıran bir hafif yapıdır
👮♂️ Main (UI), IO, Default thread yapıları ile arka plan işlemlerini yönetirsiniz
💁♂️ AsyncTask kullanmaya gerek kalmaz
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'
ilebuild.gradle
dosyasına dahil etmen gerekmektedir
UI Thread işlemleri
Disk ve network işlemleri
CPU gerektiren işlemler
Fonksiyon çağırma
Database
Liste sıralama
View işlemleri
Dosya okuma & yazma
JSON parsing
LiveData işlemleri
Ağ işlemleri
DiffUtils
🧙♂ Detaylı bilgi için:
alanlarına bakabilirsin.
🔗 Harici Bağlantılar
Last updated