因为AsyncTaskLoader一切都AsyncTask可以做到,并且还具有内置的最佳实践功能,例如线程复制和预先成熟的死亡预防.
有没有理由再使用AsyncTask了?或者我应该盲目地AsyncTaskLoader随处使用
Service或IntentService某种后台工作机制.AsyncTaskLoader.AsyncTask因为当你的活动被暂停/销毁/配置改变时AsyncTask继续运行...在这种情况下,是小心你会有内存泄漏/活动对象为空.你必须自己处理.在每种情况下,都有不同的处理和避免方式.但请记住以上流程以获得最简单的解决方案.
在 2017 年提出这个问题时,AsyncTask 仍然没有被弃用。但是,它在 Android 11 中已弃用,因为 AsyncTask 需要进行大量检查以避免内存泄漏。
Android ASOP项目中的commit有@deprecated通知:
@deprecated 改用标准
java.util.concurrent或 Kotlin 并发实用程序。
AsyncTaskLoader 仅适用于在 Activity 或 Fragment 中加载数据。AsyncTask 更加通用,可以在任何类型的组件中执行任何类型的后台操作。还有一些替代方案,如 RxJava、HandlerThreads、简单线程等,但它肯定不会被弃用。
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |