Activity的生命周期大全

来源:互联网 发布:济南 java架构师 编辑:程序博客网 时间:2024/05/09 17:36

一.一般情况下的生命周期
用户参与的正常activity的生命周期的改变
onCreate:表示Activity正在被创建。该方法中一般执行初始化工作。
onStart:表示Activity正在被启动。这时Activity已经可见了,但没有出现在前台,用户还看不到。
onResume:表示Activity可见,出现在前台,用户可看到。
onPause:表示Activity正在停止。正常紧接着会执行onStop 如果快速返回原Activity则执行onResume方法。一般做数据存储等不耗时工作。
onStop:表示Activity即将停止。做不耗时的回收工作。
onDestroy:表示Activity即将被销毁。做少量回收工作和资源释放。
onRestart:表示Activity正在重启。已启动的Activity从后台调到前台会执行该方法。
特殊情况:
已打开的Activity如果启动一个透明主题的新的Activity,那么原Activity不会回调onStop
1.onStart onResume 和onPause onStop 的区别?
onStart onStop是从是否可见的角度来回调的。
onResume onPause是从是否位于前台的角度来回调的。
除了这,别的在使用方面没有什么区别。
2.当前为A Activity ,如果启动一个B Activity ,那么B的onReume 和A的onPause哪个先执行呢?
A的onPause先执行,然后B的onCreate再执行。
二.异常情况下的生命周期
被系统回收或者设备配置改变而导致的Activity的生命周期的变化
1.资源相关的配置改变导致的Activity被杀死并重新创建的执行过程。
比如横屏切换竖屏的时候,系统配置发生了改变,默认情况下Activity会被销毁并且重新创建。
执行过程:执行Activity的onSaveInstanceState方法来保存当前Activity的状态。这个方法在onStop之前执行,和onPause方法咩有既定的时序关系,当Activity重新被创建后系统会调用onRestoreInstanceState方法取出其中的Bundle参数来恢复当时的Activity状态。
例子:TextView 销毁重建后会恢复之前的文本和状态

0 0
原创粉丝点击