我不明白为什么当我点击主页按钮和恢复应用程序时,onSaveInstanceState和onRestoreInstanceState不能输出我的Logcat消息。
public class MainActivity extends ActionBarActivity {
int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
count++;
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
Log.d("TAG", count + " was restored");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
count = savedInstanceState.getInt("count");
Log.d("TAG", count + " was restored");
}
}发布于 2015-07-01 08:56:59
在活动的生命周期中的特定时间调用onSaveInstanceState()和onRestoreInstanceState()。

正如您所看到的,为了调用onSaveInstanceState(),activity需要被操作系统销毁。按下Home按钮将只调用onPause()方法。
要调试onSaveInstanceState()方法,请在安卓设备上进入Settings -> Developer options,然后在Apps部分,选中Kill app back button旁边的复选框。现在,长按后退按钮应该会关闭可见的应用程序,并以敬酒的方式通知你。再次打开应用程序将调用onRestoreInstanceState()。
如果设备上没有此选项,或者您正在使用仿真器,请按照此处有关如何立即销毁活动以测试onSaveInstanceState()和onRestoreInstanceState()的说明进行操作:http://developer.android.com/tools/debugging/debugging-devtools.html
发布于 2015-07-01 07:59:27
点击主页按钮还不足以杀死这款应用。这只会暂停它。onSave/onRestore仅在框架要终止活动并稍后恢复它时调用。只是最小化并不能做到这一点。
https://stackoverflow.com/questions/31150461
复制相似问题