onSaveInstanceState和onRestoreInstanceState

时间:2015-06-30 23:55:30

标签: android logcat android-logcat

当我单击主页按钮和分别恢复应用程序时,无法弄清楚为什么onSaveInstanceState和onRestoreInstanceState不输出我的Logcat消息。

[[[  45.5         133.5          16.50757408]
  [  97.5          45.5          16.80773544]
  [ 147.5         133.5          16.32482719]]]

2 个答案:

答案 0 :(得分:2)

在活动的生命周期中的特定时间调用

onSaveInstanceState()onRestoreInstanceState()

Activity lifecycle

如您所见,要调用onSaveInstanceState(),操作系统需要销毁活动。按Home键只会调用onPause()方法。

要调试onSaveInstanceState()方法,请转到Android设备上的Settings -> Developer options,然后在Apps部分,选中Kill app back button旁边的框。现在,长按后退按钮应该会杀死可见的应用程序并通过祝酒通知您。再次打开应用程序会调用onRestoreInstanceState()

如果您的设备上没有此选项,或者您正在使用模拟器,请按照此处有关如何立即销毁要测试onSaveInstanceState()onRestoreInstanceState()的活动的说明操作: http://developer.android.com/tools/debugging/debugging-devtools.html

答案 1 :(得分:1)

单击主页按钮不足以终止该应用。那只是暂停它。只有当框架要杀死活动并稍后恢复它时,才会调用onSave / onRestore。只是最小化它并不能做到这一点。