🔁AsyncTask
🎈 Ne için Kullanılır
🕊️ Verilen işlemi arka planda, sistemi işlerini engellemeden tamamlar.
🐞 Yapılandırma ayarlarından etkilenir, işlem yok edilip yeniden başlatılır
💫 Telefonu döndürme vs gibi işlemler yapılandırma ayarlarını değiştirir
🗑️ Aynı işlemin çokça yapılması RAM tüketimini arttırır
🌃 Uygulama kapatıldığında
cancel()
metodu çalıştırılmadığı sürece çalışmaya devam eder
Önemli ve kritik işlemler için AsyncTaskLoader
tercih edilir
🐣 Kullanım Metotları
💠 Metot | 📜 Açıklama |
---|---|
| İşlem tamamlanmadan önce ara ara çağrılan metottur, genellikle % dolum bilgisi vermek için kullanılır |
|
|
|
|
| Arkaplan işlemi tamamlandığında sonuç buraya aktarılır, UI Thread bu metot üzerinden sonucu kullanır. |
onProgressUpdate
metodunda tüm adımları ele alırsanız, asenkron çalışma yapısı bozulur ve senkronize olarak çalışır
🧱 Prototip
🏹
String
değişkeni,doInBackground
metoduna aktarılacak verilerdir🌌
Void
yapısı,publishProgress
veonProgressUpdate
metotlarının kullanılmayacağını belirtir🔸
Bitmap
tipi de,onPostExecute
ile aktarılan işlem sonucunun tipini belirtir
Son iki parametre (Void
ve Bitmap
) dışarıdan verilmez, sınıf içi parametrelerdir
❌ İşlemi İptal Etme
🚫 İşlemi istediğin zaman
cancel()
metodu ile iptal edebilirsin🔙
cancel()
metodu işlem tamamlanmışsaFalse
döndürür🙄 Biten işlemi iptal edemezsin
👮♂️ İşlemin iptal edilme durumunu
doInBackground
metodundaisCancalled()
metodu kontrol etmemiz gerekmektedir❣️ İşlem iptal edildiğin
doInBackground
metodundan sonraonPostExecute
yerineonCancelled(Object)
metodu döndürülür
Varsayılan olarak onCancelled(Object)
metodu onCancelled()
metodunu çağırır, sonuç görmezden gelinir.
👨💻 Kod
Last updated