【发布时间】:2011-10-10 18:59:24
【问题描述】:
我正在做一个项目,我需要点击 Web 服务下载 JSON 数据,并将在列表中表示。并且所有列表项都有缩略图 url,可以下载并显示在列表项中。
我已经使用 ThreadPoolExecutor 和 AsyncTask 完成了整个调用部分。
但从设计的角度来看,这是一个更好的选择:
1. 线程池执行器
2. 异步任务
很少有广告。 ThreadPoolExecutor:
1.用户可以定义编号。可以执行的并发线程数。
2. 一次性取消所有请求。
很少有广告。异步任务:
1.在内部它使用一个ThreadPoolExecutor,但是我们不能定义no。同时运行的线程数。
2. 取消单个请求很容易。
3. 能够附加和分离任务。
4. 从 doInBackground 更新 UI 很简单。
我知道 AsyncTask 的更多优点,但是对于简单的应用程序,例如从 Web 服务获取数据以及稍后获取图像。
AsyncTask 和 ThreadPoolExecutor 哪个更合适?如果您能就您的选择提供一些理由,那将很有帮助。
我在这里阅读了几篇关于 SO 的文章,但没有一篇文章可以将两者进行比较。如果有任何我错过的麻烦,请您将链接发给我。
提前致谢。
【问题讨论】:
标签: android web-services android-asynctask