您能解释一下 2021 年后台线程的简短指南吗?我的意思是最后推荐使用什么,不推荐使用什么。
当我试图找到有关它的信息时,我感到困惑。一个地方讲述了Thread
,另一个Executor
,下一个讲述了AsyncTask
,依此类推。每个都包含关于过时和 not recommended by Google
的注释或评论。什么是真的?
答案 0 :(得分:2)
这真的取决于你想要做什么。通常,Dmitry 在您的评论中已经链接的 guide to background processing 是一个很好的起点。
关于你提到的事情:
Thread
如果您有长时间运行且不会一直发生的任务,则很有用。然后你可以在任何需要的时候创建一个线程,它会在执行完成后立即销毁。
通过 Executor
,我猜您指的是 ExecutorService
的使用。这是一个管理线程池的类。也就是说,您可以将作业分配给 ExecutorService,它会将其分配给它的任何线程以执行。这比每次都自己创建一个线程效率更高,因为线程在工作完成后不会立即销毁。然而,他们也会因此而留在记忆中。因此,如果您有经常发生的短后台作业,则 ExecutorService 是合适的。
至于 AsyncTask
,此 API 现在确实已弃用。