调用onDestroy方法有什么区别@ 1)将屏幕旋转为横向/纵向时 2)当你完全关闭活动和应用程序时(即它通过onPause(),onStop(),onDestroy())
为什么我问这个问题? 因为在情况1)中,当在销毁和重新创建活动的过程中再次调用activity的onCreate时,会重用savedInstanceState的值。 但是在情况2)中,没有从先前的运行中选择的值/保存值。
答案 0 :(得分:0)
在这两种情况下,onDestroy
是要调用的最后一个生命周期方法,因此在案例1和2中没有太大区别。
在销毁和重新创建活动的过程中再次调用activity的onCreate时,会重复使用savedInstanceState的值。
这由系统管理,而不是由onDestroy
管理。如果配置更改(如屏幕旋转),系统会调用您的onSaveInstanceState
来保存一些数据,以便在onCreate
中使用
但是在案例2中)没有从先前的运行中选择的值/保存值。
因为不需要它们 - 用户关闭了你的活动,下次他/她启动它 - 它应该从一开始就开始。我假设活动在这里完成,onSaveInstanceState (Bundle outState)
没有被调用。