2021年的Android后台线程[关闭]

Posted

技术标签:

【中文标题】2021年的Android后台线程[关闭]【英文标题】:Android background thread in 2021 [closed] 【发布时间】:2021-08-16 11:07:06 【问题描述】:

你能解释一下关于 2021 年后台线程的简短指南吗?我的意思是最后推荐使用什么,不推荐使用什么。

当我试图找到有关它的信息时,我很困惑。一个地方讲述了Thread,另一个地方讲述了Executor,下一个讲述了AsyncTask,依此类推。每个都包含关于过时的注释或评论和not recommended by Google。什么是真的?

【问题讨论】:

developer.android.com/guide/background 如果您正在使用 Kotlin 开发 Android 应用程序,那么推荐可能协程。 【参考方案1】:

这真的取决于你想要做什么。通常,Dmitry 在您的 cmets 中已链接的 guide to background processing 是一个不错的起点。

关于你提到的事情:

Thread 非常有用,如果您有长期运行的任务,而这些任务并不总是发生。然后你可以在需要的时候创建一个线程,它会在执行完成后立即销毁。

Executor 我猜你指的是ExecutorService 的使用。这是一个管理线程池的类。也就是说,您可以给 ExecutorService 一个作业,它会将其分配给它的任何线程以执行。这比每次都自己创建线程效率更高,因为线程在工作完成后不会立即销毁。但是,他们也会因此而留在记忆中。因此,如果您有经常发生的短后台作业,则 ExecutorService 是合适的。

至于AsyncTask,这个API现在确实已经被弃用了。

【讨论】:

以上是关于2021年的Android后台线程[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py 从后台线程关闭 Bot

将后台线程的结果传达给 Android 中的 Ui 线程的正确方法

工作线程与后台线程android有啥区别?

后台线程(daemon)

从后台线程更新 UI 是一种不好的做法,为啥? [关闭]

c#线程之前台线程后台线程及使用