我有一个活动MainActivity
,我正在开展一项活动TransactionActivity
,但我遇到的问题是我的MainActivity's
onStop()
方法未被调用的原因onPause()
被召唤。我在SO difference-between-onpause-and-onstop上看过这篇文章,在答案中写道,当您的某些活动仍然可见时,onStop()
将不会被调用,只会调用onpause
但对于我的情况,因为MainActivity's
完全不可见,为什么onStop()
没有被调用?
是否发生这种情况是因为某些Activity leak
或导致我的Activity留在内存中的任何内容,即使它完全不可见?
任何人,请赐教我这里发生了什么?
我的代码,用于从TransactionActivity
MainActivity
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);
答案 0 :(得分:0)
当您从上一个活动中调用另一个活动时,它会被放置在新活动的“下方”。 因此,一旦您按下,将显示之前的活动。 这是Android中的默认行为。
仅在活动结束时才会调用onStop。 例如,您可以在startActivity(ActivityB)之后调用ActivityA.finish()。
仍然不确定为什么在onStop方法中需要代码。这很危险,因为如果需要释放一些内存,系统本身可以调用onStop。可能有更好的方法来实现你想要实现的目标。
祝你好运!答案 1 :(得分:0)
请检查您的AndroidManifest.xml,也许您已设置透明主题。
答案 2 :(得分:0)
检查您的活动风格。 “ windowContentTransitions”项为true会使