如果任何活动被操作系统杀死,如何停止应用程序

时间:2010-09-10 22:01:44

标签: android lifecycle

我有一个应用程序,其中许多表单作为单独的活动实现。表单变量是基于数据库动态构建的,应用程序的C ++端有很多变量(通过JNI访问)。我没有看到每当这些许多活动之一的onPause()或onSaveInstanceState()进入后台时,如何将所有这些数据保存到持久存储是巧妙利用处理器时间。而且我不知道即使我在那段时间内保存每个活动的局部变量,我也能够在所有其他活动的上下文中恢复单个活动。

我设置了一项服务,当我检测到应用已进入后台时自动保存文件。 (我在任何活动中调用onPause()时设置时间戳,然后在任何其他活动上调用onResume()时清除时间戳。如果经过的时间超过几秒钟,我知道我不是顶级活动不再,服务保存文件)。

我想做的是继续正常,除非操作系统杀死我的一项活动。由于我们并不总是得到通知,我认为如果有办法告诉操作系统我宁愿你杀死整个应用程序而不仅仅是一个活动,那将是很好的。

提前致谢!

1 个答案:

答案 0 :(得分:0)

在所有活动的标签中设置clearTaskOnLaunch="true" in the manifest's <activity> tag for the root Activity combined with setting noHistory =“true”`应该可以满足您的需求。

http://developer.android.com/guide/topics/manifest/activity-element.html#clear http://developer.android.com/guide/topics/manifest/activity-element.html#nohist