Android Win Death - 应用程序死亡,没有保存状态
我有一个Android应用程序,它启动一个asynctask以与远程FTP同步文件。同步过程在后台完成,以便我们仍然可以打开并读取文件。对于我不测试我的应用程序的几个小时后才明白保持与消息随机崩溃以下原因:Android Win Death - 应用程序死亡,没有保存状态
04-21 14:26:47.926 SM-T585:警告5355 ActivityManager强制删除ActivityRecord { easyDoc/md516a8905f8e96d5.MainActivity t1431}:应用程序死了,没有保存的状态
04-21 14:26:47.926 SM-T585:5355信息WIN的WindowState死窗口{47e1c65 U0 D0 easyDoc/md516a8905f8e96d5.MainActivity}
04-21 14:26:47.926 SM-T585:调试5355 ActivityManager removeProcessNameLocked mProcessNames.remove pid = 20496,hash = 156239617,name = easyDoc
04-21 14:26:47.926 SM-T585:Info 5355 ActivityManager进程easyDoc.easyDoc(pid 204 96)(形容词0)已经去世(105633)
04-21 14:26:47.926 SM-T585:5355调试ActivityManager isAutoRunBlockedApp :: easyDoc.easyDoc,自动运行
我可以做什么调试这并防止我的应用程序被活动管理器杀死?
AFAIK没有什么可以做的,以防止操作系统杀死你的应用程序,你不应该这样做。不要对抗系统。
对于如此大的工作(与FTP服务器同步文件),您应该尝试使用Service
而不是AsyncTask。这很容易实现,请查看文档IntentService
here
所以当你的应用崩溃时,它总是在后台? – Abbas
我的应用程序已经打开,我可以使用它,但同步文件的过程在后台运行,直到一切崩溃。如果我打开多任务,我仍然可以在那里看到它... – SirPsycho
我看到那里,操作系统不应该摧毁你的应用程序。但也许这可能只是与'AsyncTask'相关的东西,因为它们不推荐用于长期任务。像@ mVck建议的那样尝试使用粘性的“服务”。 – Abbas