Android Win Death - app死了,没有保存状态

时间:2017-04-21 12:58:51

标签: android multithreading xamarin android-asynctask xamarin.android

我有一个Android应用程序,它启动一个asynctask来与远程FTP同步文件。同步过程在后台完成,这样我们仍然可以打开和读取文件。由于我在几个小时的测试后无法理解的原因,我的应用程序会随机跟随以下消息崩溃:

  

04-21 14:26:47.926 SM-T585:警告5355 ActivityManager强制删除ActivityRecord {easyDoc / md516a8905f8e96d5.MainActivity t1431}:app死机,没有保存状态
  04-21 14:26:47.926 SM-T585:信息5355 WindowState WIN DEATH:Window {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:信息5355 ActivityManager进程easyDoc.easyDoc(pid 20496)(adj 0)已经死亡(105,633)
  04-21 14:26:47.926 SM-T585:调试5355 ActivityManager isAutoRunBlockedApp :: easyDoc.easyDoc,自动运行

如何调试此操作并阻止我的应用被活动管理器杀死?

1 个答案:

答案 0 :(得分:3)

AFAIK没有什么可以阻止操作系统杀死你的应用程序,你不应该尝试这样做。不要与系统作斗争。

对于如此大的工作(与FTP服务器同步文件),您应该尝试使用Service而不是AsyncTask。它实现起来非常简单,请查看IntentService here

的文档