Activity生命周期详解

2017-10-21  本文已影响15人  Xzhi

共有七个周期函数:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy().

Activity生命周期.jpg

七个周期函数解析

不同场景下Activity生命周期的变化过程

横竖屏切换对Activity生命周期的影响

onSaveInstanceState()和onRestoreInstanceState():
1.不是activity生命周期的方法。
2.不会成对出现。

注意:android2.3和android4.0的生命周期不一样,2.3是先onSaveInstanceState,后onPause,4.0是先onPause,后onSaveInstanceState

  • 横竖屏切换与android:configChanges属性有关,android:configChanges="orientation|screenSize|keyboardHidden",在2.3和4.0及以上Activity都不会重新创建。
    android:configChanges属性值有:
    1)orientation:消除横竖屏的影响
    2)keyboardHidden:消除键盘的影响
    3)screenSize:消除屏幕大小的影响
    4)……
  • 禁止横竖屏切换:
    android:screenOrientation="portrait" 只能竖屏显示android:screenOrientation="landscape"只能横屏显示。
    Java代码:
    Activity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);以竖屏显示Activity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);以横屏显示
  • Activity没有重建时,就会调用onConfigurationChanged函数

Activity生命周期的变化与数据保存和恢复

onSaveInstanceState()特点:

在没有重写onSaveInstanceState()函数时,activity控件的状态(如EditText输入的文字)可能会默认保存,前提条件是UI控件必须赋了id。

总结:

上一篇 下一篇

猜你喜欢

热点阅读