在应用程序中我正在开发atm。我使用asynctasks将视频上传到网站,因为现在如果应用程序进程被终止(用户使用返回键返回主屏幕),那些asynctasks将丢失。理想情况下,尽管申请程序被杀,我仍希望继续上传,但我认为这不可行。
我想知道是否有办法以某种方式保留他们的进度(或许有必要从网站API获得支持?),或者如果不是至少保存asynctask的细节并在应用程序再次打开时重新启动它。
Vimeos应用程序似乎已经能够恢复视频上传,即使在杀死了应用程序进程之后,这正是我希望实现的目标。
欣赏任何想法和建议。
答案 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?