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