外观
为什么 AsyncTask 在 Android 11 中被标记为废弃?替代方案有哪些?
标准回答
AsyncTask 在 API 30 被弃用,主要问题包括生命周期耦合、取消和错误处理不便,以及容易保留页面引用。Java 中可用 ExecutorService 执行后台工作、主线程 Handler 回传结果;需要持久调度用 WorkManager,需要串行消息循环用 HandlerThread。
通俗例子
Java 页面可以用 ExecutorService 执行短任务,再用主线程 Handler 回传结果;需要持久调度的工作交给 WorkManager。
易混淆点
替代方案不能只看语法短,要匹配任务是否必须跨进程退出继续执行。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
4.4.1