activity-生命周期
废话不多说,直接看log打印结果
这里面主要用到两个activity,一个是file,一个是sound
1.当打开应用,直接进入到sound activity。打印结果如下
05-04 04:57:36.564 E/zhangshuli( 7810): sound_onCreate 05-04 04:57:36.700 E/zhangshuli( 7810): sound_onStart 05-04 04:57:36.701 E/zhangshuli( 7810): sound_onResume
也就是进入一个activity,首先会执行oncreate->onstart->onresume
2.当我们从这个activity界面下,锁屏的时候,打印log如下
05-04 04:59:11.356 E/zhangshuli( 7810): sound_onPause 05-04 04:59:11.499 E/zhangshuli( 7810): sound_onStop
也就是执行了onpause->onstop
如果我们解锁再次进入这个activity
05-04 05:00:52.362 E/zhangshuli( 7810): sound_onStart 05-04 05:00:52.376 E/zhangshuli( 7810): sound_onResume
执行了onstart->onresume
3.当我们在这个activity界面,按下home键的时候
以及再次进入的时候
05-04 05:01:32.301 E/zhangshuli( 7810): sound_onPause 05-04 05:01:33.098 E/zhangshuli( 7810): sound_onStop 05-04 05:01:38.816 E/zhangshuli( 7810): sound_onStart 05-04 05:01:38.816 E/zhangshuli( 7810): sound_onResume
可以发现它执行的跟锁屏情况下是一样的
4.在activity界面下,按下返回键
05-04 05:02:59.148 E/zhangshuli( 7810): sound_onPause 05-04 05:02:59.791 E/zhangshuli( 7810): sound_onStop 05-04 05:02:59.801 E/zhangshuli( 7810): sound_onDestory
它比其他情况下多了一个destory过程
5.当我们从sound->file 界面切换的时候
05-04 05:04:34.316 E/zhangshuli( 7810): sound_onPause 05-04 05:04:34.343 E/zhangshuli( 7810): file_onCreate 05-04 05:04:34.443 E/zhangshuli( 7810): file_onStart 05-04 05:04:34.444 E/zhangshuli( 7810): file_onResume 05-04 05:04:34.991 E/zhangshuli( 7810): sound_onStop
会发现,首先是启动activity执行onpause,然后是被启动activity执行oncreate->onstart->onResume,最后启动activity执行onstop
6.当我们按下返回键的时候
05-04 05:07:53.804 E/zhangshuli( 7810): file_onPause 05-04 05:07:53.828 E/zhangshuli( 7810): sound_onStart 05-04 05:07:53.828 E/zhangshuli( 7810): sound_onResume 05-04 05:07:54.272 E/zhangshuli( 7810): file_onStop 05-04 05:07:54.273 E/zhangshuli( 7810): file_onDestory
执行的是,启动activity onpause,然后是被启动activity执行onstart->onresume,最后是启动activity执行onstop->ondestory
7.除了以上生命周期外,还有一个状态是onSaveInstanceState 跟onRestoreInstanceState
log如下
05-04 06:09:26.927 E/zhangshuli( 8539): sound_onPause 05-04 06:09:27.634 E/zhangshuli( 8539): sound_onsave 05-04 06:09:27.655 E/zhangshuli( 8539): sound_onStop
onsave是在onpause之后执行,onrestore是在onstart之后执行
如下
05-04 06:14:18.764 E/zhangshuli( 8539): file_onDestory 05-04 06:14:18.783 E/zhangshuli( 8539): file_onCreate 05-04 06:14:18.857 E/zhangshuli( 8539): file_onStart 05-04 06:14:18.858 E/zhangshuli( 8539): file_onrestore 05-04 06:14:18.881 E/zhangshuli( 8539): file_onResume