在AsyncTask或Service上下载文件?

时间:2016-07-19 18:16:42

标签: android android-asynctask android-service

在Android上下载的最佳方法是什么?您将使用AsyncTask或Service。我看到几个例子是由两种方式组成的,但最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

这不是正确的问题,答案可能都是。 AsyncTask是一个单独的执行线程。服务只是您的应用程序的一部分,它在后台运行并且可以在活动结束后生效。

您需要在非UI线程上下载任何文件,因此无论您是否使用服务,都需要Thread或AsyncTask。所以你总是会使用其中的一个。是否也使用服务的问题是您是否需要下载文件的问题,即使用户转到另一个活动(还有一些其他原因,您可能想要使用服务,但这是主要的一个)。

答案 1 :(得分:1)

我建议,这取决于文件的大小。对于小内容文件,asynch很棒但是如果要成为longer task那么你可以去service,因为服务也是附带restart feature(start_sticky)以防用户杀死你的应用程序或你的应用程序被内存危机时被android os(LMK:低内存杀手)杀死