知识点整理篇(一):Android四大组件之Activity生命周期详解
目录
- 更多分享:www.catbro.cn
前言:
- Activity应该是Android开发中使用的最多的组件了,以下为自己的一点小结
一、 概念
- 1、Activity是Android应用与用户交互的窗口
- 2、Activity的指责有:
- 容器:承载与用户交互的组件
- 管理:管理窗口的生命周期
- 传递:处理页面的跳转(Fragment 也是可以的,更推荐Activity+Fragment的形式)
- 接收:接收用户操的操作数据
- 展示:向用户展示数据
- 存储:界面状态的存储
二、生命周期
- onCreate:Activity创建的时候被回调,其为Activity证明周期方法中第一个被调用的方法,在创建Activity的时候,一般需要重写该方法来做一些初始化的工作,通过调用setContentView来设置界面布局的资源文件,初始化所需要的控件等。
- onStart:Activty正在启动,此时处理可见状态,但还不能交互。
- onRestart:Activity从不可见状态恢复时被调用,其后会继续调用onStart方法。
- onRestoreInstanceState:Activity异常销毁并重建时回调该方法,可取出从onStoreInstanceState中存储到bundle中的数据,进行界面状态的恢复。
- onResume:此时的Activity处理Task的栈顶位置,处于活跃状态,可与用户进行交互。
- running:onResume执行之后的状态,此时的Activity处理活跃状态
- onPause:
- Activty失去焦点,此时的Activity不可与用户进行交互,但可能仍处于可视状态,其所有的状态信息和成员变量都正常存储,但是当设备内存紧张时,可能会被回收。
- 该方法可做一些资源回收,但不可做太多耗时的操作,because 如果你做太多耗时的操作,将影响下一个页面的显示,because Android的页面跳转机制是只有当旧的页面的onPause方法回调后,新的Activity的onResume方法才会被调用。
- onStoreInstanceState:Activity异常销毁时被调用,可在该方法中将状态信息存储到bundle中以便后续恢复。
- onStop:Activty失去焦点并且处于不可见状态,其所有的状态信息和成员变量都正常存储,但是当设备内存紧张时,可能会被回收。
- onDestory:Activty正在被销毁,可做一些资源的回收操作。
- onWindowFocusChange:在onResume和onPause回调后会调用,表示窗口的聚焦状态发生变化。
三、横竖屏生命周期
-
横竖屏切换:
- 1、onPause
- 2、onSaveInstanceState
- 3、onStop
- 4、onDestory
- 5、onCreate
- 6、onStart
- 7、onRestoreInstanceState
- 8、onResume
-
横竖屏切换时防止Activity异常销毁并重建
- 加configChange、screenSize属性configChange=“orientation”
- 此时当发生横竖屏切换时,onConfigurationChanged方法将会被回调