繁体   English   中英

活动之间的异步任务共享

[英]asynctask sharing between activities

我的应用程序下载文件(每个文件5-12MB)并从外部存储访问它们。 由于在不使用WiFi的情况下下载需要花费一两分钟的时间,因此我希望能够在用户到达所需的“活动”之前开始下载,这样他们就不必等待。

似乎AsyncTask是最好的方法,但是后来我意识到(据我所知)将来的活动将无法检查AsyncTask本身的进度,他们可以做的最好的就是继续检查是否文件可读...但是如果任务仍在运行或网络连接丢失并且需要重试怎么办?

随意重新创建AsyncTask并再次下载文件(如果将很快完成)似乎是一种浪费。

有没有办法从将来的活动中访问AsyncTask(尤其是其状态),还是我应该研究更好的范例?

关于如何设计用于此类目的的应用程序有一个很酷的解释- 开发Android REST客户端应用程序

您可以创建一个在后台下载所需内容的服务。 完成后,您可以通过意图告诉您的应用程序内容已准备就绪,并通过stopSelf()停止服务。 因此,即使在主屏幕上,您的下载也始终保持下去。 因此,请确保您创建通知以告知用户,并给他取消的机会。 :)

编辑:当然,您可以在服务中使用任务。 由于服务不会产生自己的线程,因此无论如何这可能是个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM