您的位置:首页 > 移动开发 > Android开发

Android基础之Activity的生命周期

2012-12-24 22:50 363 查看
Activity的生命周期包括:
onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop(),onDestory()
调用的流程
:






各个方法的含义:
onCreate():应用程序第一次启动的时候,会调用这个方法。

onStart():是在应用程序变得的可见之前,这个方法会被调用,在这个方法中可以进行一些数据的加载,做一些准备工作

onRestart():如果应用程序调用了onStop()方法,那么这个应用再次启动的时候,就会调用这个方法。

onResume():在应用和用户进行交互之前,会调用这个方法,这时,这个Activity处于activity栈的最顶端,

onPause():当系统准备启动另外一个Activity时,会调用这个方法,通常需要在这个方法中进行数据、状态的保存工作

onStop():当前的Activity不可见时,会调用这个方法,

onDestory():Activity的最后一个方法,Activity消亡

完整的Activity的各个生命周期的调用顺序:

启动->可见:

onCreate()->onStart()->onResume()

可见->按Back健->启动:

onPause()->onStop()->onDestory()->onCreate()->onStart()->onResume()

可见->按Home键->启动:

onPause()->onStop()->onRestart()->onStart()->onResume()

可见->按Home键->长按Home键启动(从recent列表启动):

onPause()->onStop()->onRestart()->onStart()->onResume()

可见->按电源键锁屏->按电源键解锁:

onPause()->onStop()->onRestart()->onStart()->onResume()

可见->旋转屏幕

onPause()->onStop()->onDestory()->onCreate()->onStart()->onResume()
旋转屏幕时,如果不做任何的处理,Activity会进行重建

Activity数据的保存:

虽然Activity不可见了,但是这个Activity的状态并没有被销毁,Activity的状态,还可以恢复过来,可以通过方法onSaveInstanceState()来保存一些重要的数据和状态,可以通过一些键值对来保存重要的数据,保存在Bundle中,可以通过onCreate()方法,或者onRestoreInstanceState()方法,来恢复之前的数据和状态

大致的流程如图:



注意:因为onSaveInstanceState()并不能保证,一定会被调用,因为有些情况,不需要保存数据和状态(如用户显示的关闭这个Activity时,用户通过Back键离开时),所以,不能通过onSaveInstanceState()方法来保存一些重要的持久化的数据,可以在onSaveInstaceState()方法中保存一些UI的状态,需要在onPause()方法中保存重要的持久化的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: