Android

时间:2015-11-03 20:52:39

标签: android

调用onDestroy方法有什么区别@ 1)将屏幕旋转为横向/纵向时 2)当你完全关闭活动和应用程序时(即它通过onPause(),onStop(),onDestroy())

为什么我问这个问题? 因为在情况1)中,当在销毁和重新创建活动的过程中再次调用activity的onCreate时,会重用savedInstanceState的值。 但是在情况2)中,没有从先前的运行中选择的值/保存值。

1 个答案:

答案 0 :(得分:0)

在这两种情况下,onDestroy是要调用的最后一个生命周期方法,因此在案例1和2中没有太大区别。

  

在销毁和重新创建活动的过程中再次调用activity的onCreate时,会重复使用savedInstanceState的值。

这由系统管理,而不是由onDestroy管理。如果配置更改(如屏幕旋转),系统会调用您的onSaveInstanceState来保存一些数据,以便在onCreate中使用

  

但是在案例2中)没有从先前的运行中选择的值/保存值。

因为不需要它们 - 用户关闭了你的活动,下次他/她启动它 - 它应该从一开始就开始。我假设活动在这里完成,onSaveInstanceState (Bundle outState)没有被调用。