有人可以澄清一下为什么我有这么奇怪的行为。直到文档中,只要应用程序Bundle savedInstanceState
处于活动状态,它就处于活动状态,所以当它处于前台或后台时。onSaveInstanceState()
在应用程序被杀死后,savedInstanceState
实例也被杀死。这是我所拥有的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (savedInstanceState != null) {
Log.i("Dev", "not null");
} else {
Log.i("Dev", "null");
}
}
这是我的设置方式:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean("bool", true);
}
然后,我在模拟器中启动应用程序。打开应用程序后,我单击home
按钮,以便启动器可见。然后我使用 adb 终止应用程序的进程。之后,我从最近使用的应用程序列表中启动应用程序,期望 Logcat 中为“ null ”,但我实际看到的是“ not null ”,所以我的理解不正确?