Android保留AsyncTask状态/进度

时间:2012-03-28 20:12:21

标签: android android-asynctask

在应用程序中我正在开发atm。我使用asynctasks将视频上传到网站,因为现在如果应用程序进程被终止(用户使用返回键返回主屏幕),那些asynctasks将丢失。理想情况下,尽管申请程序被杀,我仍希望继续上传,但我认为这不可行。

我想知道是否有办法以某种方式保留他们的进度(或许有必要从网站API获得支持?),或者如果不是至少保存asynctask的细节并在应用程序再次打开时重新启动它。

Vimeos应用程序似乎已经能够恢复视频上传,即使在杀死了应用程序进程之后,这正是我希望实现的目标。

欣赏任何想法和建议。

1 个答案:

答案 0 :(得分:5)

我认为您可能使用了错误的架构。

任何需要在Activity转换之间生存的东西都更适合服务。服务在后台运行(甚至可能在应用关闭后运行),并允许您执行长时间运行,例如执行上传。

要终止应用程序进程但让服务继续运行,您可以使用清单中的android:process将服务分配给单独的Android进程。 http://developer.android.com/guide/topics/manifest/service-element.html#proc

也可以看到这个帖子: How to keep a service running in background even after user quits the app?