我创建了一个基本的示例应用程序,它所做的就是在活动finish()
期间调用onStop()
。根据我的理解和查看Stackoverflow上的其他帖子,这应该触发onDestroy()
。
我的重新启动步骤是启动应用程序,按设备上的主页按钮,这将触发onStop()
。预期的结果是它也会命中onDestroy()
,但我没有看到。
如果我在finish()
期间致电onPause()
,则会按预期触发onStop()
和onDestroy()
。
任何人都知道为什么它会在onPause()
期间起作用,而不是onStop()
?
我也注意到了Logcat中的这条消息
I / ActivityManager:活动报告停止,但不再停止:ActivityRecord {203ab0 u0 com.amazon.myapplication / .MainActivity t96 f}
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d("Sample", "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
Log.d("Sample", "onStart");
super.onStart();
}
@Override
protected void onResume() {
Log.d("Sample", "onResume");
super.onResume();
}
@Override
protected void onPause() {
Log.d("Sample", "onPause");
super.onPause();
}
@Override
protected void onStop() {
Log.d("Sample", "onStop");
finish();
super.onStop();
}
@Override
protected void onDestroy() {
Log.d("Sample", "onDestroy");
super.onDestroy();
}