Android Don';调用startActivity()后,是否调用父活动的onDestroy()?

Android Don';调用startActivity()后,是否调用父活动的onDestroy()?,android,android-intent,android-activity,Android,Android Intent,Android Activity,我有一个包含大量事务片段的活动,有时我的用户需要打开preferences活动几秒钟。我是这样做的: Intent preferencesIntent = new Intent(this, PreferencesView.class); this.startActivity(preferencesIntent); 每次执行此操作时,都会调用我的主要活动的onDestroy()。因此,当我的用户回来时,主要活动是在it初始阶段。但我希望他们离开时的主要活动是这样的 我知道我应该保存/恢

我有一个包含大量事务片段的活动,有时我的用户需要打开preferences活动几秒钟。我是这样做的:

Intent preferencesIntent = new Intent(this, PreferencesView.class);     
this.startActivity(preferencesIntent);
每次执行此操作时,都会调用我的主要活动的onDestroy()。因此,当我的用户回来时,主要活动是在it初始阶段。但我希望他们离开时的主要活动是这样的

我知道我应该保存/恢复我的数据,让活动重新创建自己。但这将非常复杂,我的用户大部分时间都在我的主要活动中

那么,有没有一种方法可以告诉Android不要在我的主要活动不可见时杀死它


提前谢谢你

您无法阻止Android停止活动。
我看到的唯一方法是在主活动的一个片段中加载首选项。

您已经写好了答案:保存/恢复状态。这就是安卓的工作原理


您的活动可能会因配置更改或其他原因而被破坏。

使用startActivityForResult(intent);在您的情况下,您使用的不是简单的startActivity(意图),而是什么设备?系统不应该扼杀你的第一个活动,除非它只有很少的活动RAM@FoamyGuy我用的是Nexus7。它有1Gb内存,我几乎没有打开任何应用程序。@AbhinavSinghMaurya谢谢。但是我已经试过了,我的父活动仍然在调用onDestroy()。从onPause和onStop方法发布代码。您描述的行为对于系统来说是不正常的。很可能是你在活动中投入的东西导致了你正在目睹的行为。如果我没有选择,我会的。但似乎只有一个真正具体的案例会带来很多麻烦。此外,重新加载我的所有数据可能需要几秒钟。我真的不喜欢它为我的用户提供的用户体验。您可以在不查看的情况下将所有大数据存储在片段中,请使用setRetainInstance()。这将跨配置更改保存片段实例。这看起来可能有点复杂,但是一旦你知道怎么做,你就会自动做。问题是我也在使用标签,而且总是需要选择一个标签。首选项不适合我的任何标签,所以它会成为一个奇怪的导航。