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()方法中保存重要的持久化的数据
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()方法中保存重要的持久化的数据
相关文章推荐
- Android基础笔记(八)- Activity生命周期与任务栈
- [Android基础]Activity的生命周期
- 【幻化万千戏红尘】qianfeng-Android-Day05-Activity生命周期,Actitity的启动模式基础学习:
- android 基础学习(3)-----activity的生命周期
- Android零基础入门第75节:Activity状态和生命周期方法
- Android基础学习——Activity生命周期
- android基础回顾---activity生命周期
- Android入门基础(7) ---activity生命周期
- Android基础——Activity生命周期
- Android基础学习【历史流程重走】 ---- Activity的生命周期
- Android基础知识:Activity生命周期和Intent用法
- Android Activity 生命周期和重要的相关函数(基础一)
- Android基础学习之Activity生命周期
- android基础知识---ActivityLifecycleCallbacks监听Activity们的生命周期
- Android零基础入门第75节:Activity状态和生命周期方法
- Android基础学习笔记:Activity的生命周期
- Android基础总结之一:Activity的生命周期
- android基础(Activity的生命周期)
- Android Activity学习 <一> Activity基础知识和生命周期
- android基础知识复习(一)——对话框风格的Activity、Menu、Activity生命周期