在 UI 中,为了执行一些后台工作,我使用了一个单独的 Thread
。但正如其他人所建议的,我现在正在使用 AsyncTask
。
Thread
和 AsyncTask
的主要区别是什么?
在哪种情况下,我应该使用 Thread
还是 AsyncTask
?
最佳答案
对于长时间运行或 CPU 密集型任务,基本上有两种方法可以做到这一点:Java 线程和 Android 的原生 AsyncTask。
两者都不一定比另一个更好,但知道何时使用每个调用对于利用系统性能为您带来好处至关重要。
将 AsyncTask 用于:
- 无需下载大量数据的简单网络操作
- 可能需要超过几毫秒的磁盘绑定(bind)任务
将 Java 线程用于:
- 涉及中到大量数据的网络操作(上传或下载)
- 需要在后台运行的高 CPU 任务
- 您想要控制相对于 GUI 线程的 CPU 使用率的任何任务
互联网上有很多很好的资源可以帮助你:
http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html
关于android - android中的异步任务与线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18480206/