笔记——Activity生命周期

来源:互联网 发布:剑灵捏脸超萌萝莉数据 编辑:程序博客网 时间:2024/06/06 20:31

1.Activity生命周期简述

onCreate==>onStart(onRestart)==>onResume==>ActivityRunning==>onPause==>onStop==>onDestory

2.各周期详解

onCreate :Activity正在创建时所回调的方法。在这个方法中,我们一般做一些初始化操作。如setContentview、findviewById等。
onStart :Activity正在被启动时回调此方法,此时activity已经可见但未到前台,我们无法看到,此时activity还无法和用户交互。
onRestart:表示当前Activity正在被重新启动,一般情况下是用户行为导致,当activity由不可见状态重新变为可见状态时会调用,例如按Home键返回桌面后再重新打开页面。
onResume:执行到此方法时,表示当前activity已经可见,可以与用户进行交互。
onPause:表示当前activity正在停止,一般情况下,onStop会紧随其后调用,此时可以做一些不耗时的操作,如停止动画等。
onStop:表示activity将要停止,此时可以做一些资源回收等工作,同样不能耗时。
onDestory:表示activity将要被销毁,activity销毁前最后一个方法。可以做一些最终的资源回收与释放。

3.补充

开启新的activity时,如果新activity是透明的,那么当前activity不执行onStop。
onCreate和onDestory是成对的。onStart和onStop是成对的。
onResume和onPause是从是否在前台来看的。onStart和onStop是从是否可见的方面来看的。
启动新的activity时,生命周期是先执行旧的activity的onPause,然后新activity的onCreate、onStart、onResume,再然后是旧activity的onStop,这就是onPause不能执行耗时操作的原因。

4.异常状态下周期

activity如果在系统配置发生改变后(如横竖屏切换等),会被销毁,会在onStop之前调用onSavaInstanceState保存当前activity状态。可以在onPause之前或之后。但一定在onStop之前。异常状态下页面销毁后被重新创建后,会调用onRestoreInstanceState,调用时机在onStart之后。




0 0
原创粉丝点击