Android基础之Activity的生命周期
来源:互联网 发布:seo公司 上海 编辑:程序博客网 时间:2024/04/28 16:22
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()方法中保存重要的持久化的数据
- Android基础之Activity的生命周期
- Android基础之Activity的生命周期
- Android基础之Activity的生命周期
- Android开发基础之Activity的生命周期
- Android基础之Activity生命周期
- android基础--Activity的生命周期
- android基础(Activity的生命周期)
- [Android基础]Activity的生命周期
- Android基础之横竖屏切换时Activity的生命周期
- 26、Android开发基础之Activity的生命周期
- Android之Activity的生命周期
- Android之Activity的生命周期
- Android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- Android之Activity的生命周期
- 设置PLSQL Developer访问本机64位Oracle
- More Effective C++:指针与引用的区别
- 开始准备
- Ext.TabPanel
- Java扩展算法和辅助工具
- Android基础之Activity的生命周期
- poj1088
- iText中文,报错解决
- XPCOM 指南
- MongoDB资料汇总专题
- JAVA JDBC学习笔记
- 学习使用线程下载json数据,并使用ListView显示出来的总结
- myeclipse快捷键
- Deploy Cloud Foundry on vSphere using BOSH