对使用服务与Asycn任务感到困惑吗?

时间:2015-12-14 21:40:10

标签: android multithreading service android-asynctask

所以我正在制作像应用程序一样的火种。每当用户在卡上滑动时,我想将该卡添加到预先指定的文件夹中,我希望在后台完成。因此,当用户正在刷卡时,在后台我将该卡添加到文件夹中。现在我担心我是否应该使用: a)创建一个单独的Thread类 b)创建一个异步任务(但这只适用于需要几秒钟的工作) c)创建服务。 (但这不是单独的线程,所以我对使用这种方法犹豫不决)。

我不希望用户等到卡进入文件夹而不是再次滑动。我希望他们不断刷卡,而他们刷过的卡片会被添加到正确的文件夹中。

希望你们能帮忙!

1 个答案:

答案 0 :(得分:1)

这取决于后台文件夹移动的范围,我想说。如果文件夹是本地文件夹并且没有相对(几秒钟的等待时间)立即影响GUI,或者在重要使用线程之前将重新生成GUI。

如果移动到文件夹的结果将对即将发生的GUI操作产生影响,并且只会进行一些外部(网络)调用,那么就会出现AsyncTask。

如果你正在做我认为你的事情(我不熟悉Tinder,所以我真的不知道),那么AsyncTask可能是最好的。加载下一个图像/配置文件和AsyncTask反馈。当AsyncTask onPostExecute重新加载队列中的下一个图像/配置文件时。

服务对此来说似乎有点重要。但我可能是错的。来自AsyncTask的文档:

This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.

由于这听起来像你想要做的(刷卡的结果发布到服务器,等待基于远程服务器提供的任何内容的下一个配置文件的响应)我先看看那里。