Skip to content
阅读进度

为什么 AsyncTask 在 Android 11 中被标记为废弃?替代方案有哪些? ​

返回 Java 与并发 目录

标准回答 ​

AsyncTask 在 API 30 被弃用,主要问题包括生命周期耦合、取消和错误处理不便,以及容易保留页面引用。Java 中可用 ExecutorService 执行后台工作、主线程 Handler 回传结果;需要持久调度用 WorkManager,需要串行消息循环用 HandlerThread。

通俗例子 ​

Java 页面可以用 ExecutorService 执行短任务,再用主线程 Handler 回传结果;需要持久调度的工作交给 WorkManager。

易混淆点 ​

替代方案不能只看语法短,要匹配任务是否必须跨进程退出继续执行。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。