我的应用下载文件(每个 5-12MB)并从外部存储访问它们。由于当一个人不在 WiFi 上时下载需要一两分钟,我希望能够在用户到达他们想要的 Activity 之前开始下载,这样他们就不必等待.
似乎 AsyncTask 是最好的方法,但后来我意识到 future 的 Activity (据我所知)将无法检查 AsyncTask 本身的进度,他们能做的最好的事情就是继续检查查看文件是否可读...但是如果任务仍在运行或丢失网络连接并需要重试怎么办?
不加选择地重新创建 AsyncTask 并再次下载文件(如果它很快就会完成)似乎是一种浪费。
有没有一种方法可以从 future 的 Activity 中访问 AsyncTask(特别是它的状态),或者我应该看看有没有更好的范例?
最佳答案
关于如何为此类目的设计应用程序有一个很酷的解释 - Developing Android REST client applications .
关于android - Activity 之间的异步任务共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371461/