Activity的生命周期
生命周期:对象什么时候生,什么时候死,怎么写代码,代码往那里写。
注意:
-
当打开新的Activity,采用透明主题的时候,当前Activity不会回调onStop
-
onCreate和onDestroy配对,onStart和onStop配对(是否可见),onResume和onPause配对(是否在前台,可以与用户交互)
-
打开新的Activity的时候,相关的Log为:
Main1Activity: onPause Main2Activity: onCreate Main2Activity: onStart Main2Activity: onResume MainA1ctivity: onStop
异常状态下的生命周期:
资源相关的系统配置发生改变或者资源不足:例如屏幕旋转,当前Activity会销毁,并且在onStop之前回调onSaveInstanceState保存数据,在重新创建Activity的时候在onStart之后回调onRestoreInstanceState。其中Bundle数据会传到onCreate(不一定有数据)和onRestoreInstanceState(一定有数据)。
防止屏幕旋转的时候重建,在清单文件中添加配置:
android:configChanges="orientation"
2、Fragment的生命周期
正常启动
Activity: onCreate
Fragment: onAttach
Fragment: onCreate
Fragment: onCreateView
Fragment: onActivityCreated
Activity: onStart
Activity: onResume
正常退出
Activity: onPause
Activity: onStop
Fragment: onDestroyView
Fragment: onDestroy
Fragment: onDetach
Activity: onDestroy