En iyi uygulama: yönünü değiştirme sırasında AsyncTask
AsyncTask başka bir konu karmaşık görevleri çalıştırmak için harika bir şey.
Ama bir oryantasyon değiştirmek veya AsyncTask hala çalışırken başka bir yapılandırma değişikliği olduğunda, geçerli etkinlik yok edilir ve yeniden başlatılır. Ve AsyncTask örneği aktiviteye bağlı olarak, başarısız ve neden bir "ileti penceresi. kuvvet yakın
"En iyi uygulama" bu hataları önlemek ve başarısız önlemek için AsyncTask. bir tür arıyorum yani
Şimdiye kadar gördüğüm tek şey:
- Yönlendirme değişiklikleri devre dışı bırakın. / Kesinlikle bu işi gerektiği gibi değil.
- Görev hayatta kalmak icar ve yeni aktivite ile güncellenmesi onRetainNonConfigurationİnstance) örneği
- Aktivite yok ve etkinliği yeniden oluşturulduğunda, onu yeniden açtığınızda sadece görev iptal ediliyor.
- Etkinlik yerine uygulama sınıfı için görev örneğine bağlama.
- Bazı kullanılan yöntem "raflar" projesi (onRestoreİnstanceState)
Bazı kod örnekleri:
Android AsyncTasks during a screen rotation, Part I Part II
Beni en iyi sorun çözen en iyi yaklaşım bulmak için Yardım ve uygulanması kolay mı? Kodu doğru bunu nasıl çözeceğimi bilmiyorum da önemlidir. Yardım ettiğin için teşekkür ederim :-)
CEVAP
YapınDEĞİLandroid:configChanges
bu sorunu gidermek için kullanın. Bu çok kötü bir uygulamadır.
YapınDEĞİLActivity#onRetainNonConfigurationInstance()
ya kullanın. Bu daha az modüler ve uygun Fragment
tabanlı uygulamalar için değil.
15* *yapılandırma değişiklikleri Fragment
s korudu kullanarak nasıl tarif edebilirsiniz. Güzel AsyncTask
rotasyon genelinde bir değişim tutma sorunu çözer. Temelde gerek ana AsyncTask
içinde Fragment
, çağrı setRetainInstance(true)
Fragment
, rapor AsyncTask
's ilerleme/sonuçlar Activity
ile korudu Fragment
.
Android: ActionBar değiştirme "Ev...
ASP.NET Bu yöntem olamaz uygulama sıra...
XSLT: öznitelik değeri sırasında değiş...
KÖK uygulama değiştirme Tomcat 6: ...
Arşiv sırasında uyarı iOS Güncellemele...