2010-09-10 85 views
1

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

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

我想要做的是继续照常,除非操作系统杀死我的一个活动。因为我们并不总是得到这个通知,所以我认为如果有一种方法可以告诉操作系统我宁愿你杀了整个应用程序而不是一个活动。

在此先感谢!

回答

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

+0

感谢响应。该标志的描述表明,无论何时进入主屏幕或切换任务,除根之外的所有其他活动都会被终止。我希望能够实现的是杀死我的整个应用程序,但只有当操作系统因内存相关原因而杀死我的一个活动时。在正常情况下,不需要做任何事情,而不是杀死一个相关的活动而不是其他的,我宁愿让我失望。 iPhone,Windows Mobile等都默认以这种方式运行。它适用于我的情况,但不幸的是不知道是否可能。 – 2010-09-11 13:46:03

+0

您是否找到解决方案? – Christian 2012-10-19 21:17:03

相关问题