异步任务或线程

时间:2014-04-07 13:18:21

标签: android multithreading android-asynctask

我有以下任务:

我必须执行Wi-Fi scan然后将一些RSSs发送到服务器以从服务器获取位置。之后我应该在地图上显示位置。

我的申请表中有一个activity。实施它的最佳方法是什么?我之前没有在android中实现thread nor AsyncTask。所以我不太了解它。我在android开发者网站上看过有关线程和AsyncTask的内容。但我仍然无法理解一切。

如果有人能告诉我何时最好使用线程,以及AsynTask与线程的不同以及何时使用AsyncTask instead of threads,我将不胜感激。

编辑:我必须实现的任务应该只在用户点击actioBar项目时运行

1 个答案:

答案 0 :(得分:2)

如果您无法理解阅读文档,我建议您从AsyncTask开始,因为当Thread被解雇时它已经实现了doInBackground()已经实现了一些机制,你可能需要在使用Thread时手动实现(并发,线程启动/停止进程,向UI线程发送信息,......)。

但是,您没有具体说明想要做什么。如果您计划执行一个长期运行的流程,而不是ThreadAsyncTask,则建议使用Service启动Thread作为实施与普遍看法相反,AsyncTask用于短期任务。

在任何情况下,如果你从这开始,我建议先使用AsyncTask,一旦明白它在做什么以及如何做,请自行决定&#39 ; s是实施您计划执行的操作的最佳方式:如果Service内部有ThreadThread本身或AsyncTask。< / p>