为什么我的活动的 onStop() 没有被调用,只有 onPause() 被调用,即使我的活动完全不可见?



我有一个活动MainActivity,我正在打开一个活动TransactionActivity但我遇到的问题是为什么我的MainActivity'sonStop()方法没有被调用,只有onPause()被调用。我已经看过这篇关于暂停和停止之间的差异的帖子,在答案中写道,当您的活动的某些部分仍然可见时,onStop()不会被调用,唯一的onpause会被调用,但就我而言MainActivity's完全不可见为什么它onStop()没有被调用??

发生这种情况是因为某些Activity leak或任何导致我的活动保留在内存中的事情,即使它完全不可见?

任何人,请告诉我这里发生了什么??

我的MainActivity调用TransactionActivity的代码

Intent i = new Intent(MainActivity.this, TransactionActivity.class);
Bundle b = new Bundle();
b.putInt("trans_type", 0);
i.putExtras(b);
startActivity(i);
overridePendingTransition(0, 0);

请检查您的Android清单.xml,也许您设置了一个透明主题。

检查您的活动风格。 项目"窗口内容转换"为真将允许

当您调用前一个活动的另一个活动时,它会放在新活动的"下方"。 因此,一旦您向后按,将显示以前的活动。 这是Android中的默认bahavior。

onStop 仅在活动完成时调用。 例如,您可以在startActivity(ActivityB(之后调用ActivityA.finish((。

仍然不确定为什么在onStop方法中需要代码。这是危险的,因为如果系统本身需要释放一些内存,它可以调用 onStop。可能有更好的方法来做你想要实现的目标。

祝你好运!

最新更新