🔁AsyncTask
Last updated
Last updated
© 2024 ~ Yunus Emre Ak ~ yEmreAk
🕊️ 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
💠 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
🏹String
değişkeni, doInBackground
metoduna aktarılacak verilerdir
🌌Void
yapısı, publishProgress
ve onProgressUpdate
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 istediğin zaman cancel()
metodu ile iptal edebilirsin
🔙 cancel()
metodu işlem tamamlanmışsa False
döndürür
🙄 Biten işlemi iptal edemezsin
👮♂️ İşlemin iptal edilme durumunu doInBackground
metodunda isCancalled()
metodu kontrol etmemiz gerekmektedir
❣️ İşlem iptal edildiğin doInBackground
metodundan sonra onPostExecute
yerine onCancelled(Object)
metodu döndürülür
Varsayılan olarak onCancelled(Object)
metodu onCancelled()
metodunu çağırır, sonuç görmezden gelinir.