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
原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_oncreate_150504135.html