尽我所知,AsyncTaskLoader
不仅拥有所有的能力AsyncTask
而且还结合了最佳实践,例如避免内置的重复线程和过早死亡。
使用有任何理由吗AsyncTask
不再,或者我应该一直使用AsyncTaskLoader
盲目地?我问这个问题是为了确定是否有任何我应该谨慎对待的特殊情况。
- 当您有一个后台作业需要完成时,无论 Activity 是否被销毁:
Service
or IntentService
后台作业的某种机制。
- 当您有需要完成的后台作业并再次通知 UI 时:使用
AsyncTaskLoader
.
- 当您有一个后台作业需要完成并再次通知用户并继续运行时,尽管活动被破坏:使用
AsyncTask
因为当您的 Activity 暂停/销毁/配置更改时,AsyncTask 会继续运行...在这种情况下,请小心您将出现内存泄漏/Activity 对象为空。你必须自己处理。
每种情况都有不同的处理和避免方法。但请记住上面的流程以获得最简单的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)