首先上个官图:
http://developer.android.com/reference/android/app/Activity.html
onCreate (创建:做一些初始化的工作)
Activity初次创建时被调用
一般在这里创建view,初始化布局信息,将数据邦定到list以及设置监听器等等。如果Activity首次创建,本方法将会调用onStart();如果Activity是停止后重新显示,则将调用 onRestart()
onStart(开始:可见)
当Activity对用户即将可见的时候被调用,其后调用onResume
onResume(恢复:可操作界面)
当用户能在界面中进行操作的时候(获得焦点等)被调用
onPause(中断:该Acitvity中断前的一些操作,即:当前Activity不再是栈顶的状态时候,把相关的事情处理好改activity才能中断)
当系统要启动一个其他的Activity时调用(其他的activity显示之前),这个方法被用来停止动画和其他占用CPU资源的事情。所以在这里应该提交保存那些持久数据,这些数据可以在onResume方法中读出
onStop(停止:不可见,也不可操作界面)
当另外一个Activity恢复并遮盖住当前Activity,导致用户不再可见时调用。一个新Activity启动、其他Activity被切换至前景、当前Activity被销毁时都回调用此函数。如果当Activity重新回到前景与用户交互时会调用onRestart(),如果Activity将退出则调用onDestroy
onDestroy(毁灭:彻底杀掉这个activity)
当前Activity被直接关闭或者系统资源不足时被调用
在当前的Activity被销毁前所调用的最后一个方法,当进程终止时调用
onRestart
当Activity停止后(即调用onStop)重新显示的时候,会被调用,然后调用onStart
自己可以创建两个Activity去测试:
测试流程如下:
一、启动一个新的Activity,就会启动三个函数
* onCreate
* onStart
* onResume
当这个Activity长时间处在栈顶,而手机设备一直没操作而导致锁屏,这时会调用以下函数
* onPause
* onStop
当屏幕解锁后,这个Activity会显示出来,会调用一下函数
onRestart()
onStart()
onResume()
当按下返回键,这个新的Activity就会启动三个函数
* onPause
* onStop
* onDestroy
二、启动另外一个Activity时,原本的Activity会启用onpause函数
另外一个Activity启动以下函数:
* onCreate
* onStart
* onResume
启动成功后,原本的Activity启动onstop函数
三、在另外的那个Activity中,按返回键:
首先,另外的Activity会启动onPause(),
然后,原来的Activity ,启动onRestart()、onStart()、onResume()
最后,另外的Activity会启动onStop()、onDestroy()