Asynctask vs android中的线程是怎样的?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

在UI中,为了执行一些后台工作,我使用了一个单独的Thread。但正如其他人所建议的,我现在正在使用AsyncTask

a Thread和a之间的主要区别是AsyncTask什么?

在哪种情况下,我应该使用a Thread还是AsyncTask

提问于
用户回答回答于

对于长时间运行或CPU密集型任务,基本上有两种方法可以执行此操作:Java线程和Android的本机AsyncTask。

两者都不一定比另一个好,但知道何时使用每个呼叫对于充分利用系统性能对您的利益至关重要。

使用AsyncTask进行以下操作:

  1. 简单的网络操作,不需要下载大量数据
  2. 磁盘绑定的任务可能需要超过几个毫秒

使用Java线程进行:

  1. 涉及中等到大量数据(上传或下载)的网络操作
  2. 需要在后台运行的高CPU任务

用户回答回答于

如果使用Java线程,则必须在自己的代码中处理以下要求:

如果将结果回传给用户界面,则与主线程同步 没有默认取消线程 没有默认的线程池 在Android中处理配置更改时没有默认值

扫码关注云+社区