当应用程序未使用一段时间时,Android应用程序的行为无动于衷

问题描述:

应用程序在重新调用并使用时工作正常,但用户离开时应用程序运行良好,应用程序仍在内存中运行。任何尝试在运行时切换回原因都会导致崩溃或黑屏冻结。它可能发生在自首次打开之后剩下一段时间。 为了解决这个问题,我想放置一个退出按钮,并用它来杀死应用当应用程序未使用一段时间时,Android应用程序的行为无动于衷

case MENU_QUIT: int pid = android.os.Process.myPid(); 
     System.out.println("Process id:"+pid); 
     android.os.Process.killProcess(pid); 
     return true; 

但我相信这不是解决问题的正确方法。有人可以提出一个更好的主意。

+0

特德的答案一般是正确的。具体来说,我们需要了解更多关于您在应用中维护的状态以便提供帮助。 – 2011-03-06 08:42:34

如果您没有正确实施process lifecycle回拨方法,则会发生这些类型的崩溃和死机。

对于从权威人士一个很好的咆哮,尝试马克的庆祝answer到经久不衰的问题:Should I make a quit button for my app?

实现您的活动的方法的onPause。使其停止活动的处理线程,节省需要保存并停止处理(任务杀手可能会在任何时候杀死你,因此可能是应用程序终止的地方)。

以一种方式实现onResume,以重新载入应用程序所处的状态,并从中断处继续。

看看onStart中的代码。它与onResume有很大的不同吗?也许这会缩小你的状态出错的地方。如果onResume重新初始化某些错误或无法重新获取某些资源,则可能发生不良事件)。