作为Android中四大组件之一的Activity是最为重要的一个组件,今天学习了Activity的生命周期。
理解Activity的生命周期对于我们去开发大的灵活的应用很有帮助,在Android系统中Activity作为Activity栈来被管理,当前活动的Activity处于栈顶,之前的不活动的Activity就会被压入下面的称为不活动的Activity,来进行等待,如果该Activity重新变成栈顶,就会被重新恢复活动的状态;
看下自己画的截图:
1: Activity A正在运运行,然后又打开Activity B之后 Activity A就会退到栈的下一层,Activity B在栈顶.
2:如果用户点击后退按钮进行返回,或者前台的Activity结束这里(可以认为是正在运行的Activity B),此时该Activity就会被移除栈,直接被销毁;然后站内的上一个Activity(这里认为是Activity A)将会到栈顶,并且变成活动状态: 如图:
下面是代码日志截图:
3:接下来看下Activity生命周期中的四个重要状态
活动状态 -----> 在屏幕的最前面(也就是在栈顶),获得焦点并且可见
暂停状态 -----> 失去焦点,不过还是可见 例如:屏幕上面弹出来的Dialog
停止状态 -----> 失去焦点,不可见
销毁状态 -----> 被系统销毁
Activity 生命周期回调图:
从上面的生命周期回调图中,可以把生命中周期份以一下三个过程:
1:完整生命周期:Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止。Activity在onCreate()中设置并且进行初始化,而在onDestroy()中释放所有系统资源。
2:可见生命周期:Activity的可视生命周期自onStart()调用开始直到相应的onStop()调用结束。在此期间,用户可以在屏幕上看到Activity,尽管它也许并不是位于前台或者也不与用户进行交互。在这两个方法之间,我们可以保留用来向用户显示这个Activity所需的资源。
3:前台可见生命周期:Activity的前台生命周期自onResume()调用起,至相应的onPause()调用为止。在此期间,Activity位于前台最上面并与用户进行交互。Activity会经常在暂停和恢复之间进行状态转换
下面是Activity生命周期会进行回调的所有方法:
①:一个Activity的启动顺序:onCreate()--->onStart()--->onResume()
②:当先打开一个Activity的时候 第一个Activity先会调用onPause() ----然后第二个Activity调用onCreate()--->onStart()--->onResume()---->第一个Activity调用onStop();
③:返回到第一个Activity的时候 第二个Activity会先调用onPause()---->然后第一个Activity调用onRestart()--->onStart()--->onResume()---->第二个Activity接着调用onStop()——>onDestory();
下面来说说Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
如果我们需要在Activity销毁前保存一些临时性的数据,onPause()就比较可以进行数据的持久化的保存,此时我们可以使用onSaveInstanceState()和 onRestoreInstanceState()方法。只要重写上面两个方法,在这里进行数据保存操作就OK了
分享到:
相关推荐
有助于深入了解Android Activity生命周期的测试代码,可以结合博客http://blog.csdn.net/freetangxiaoying/article/details/17167819领悟。
android中Activity生命周期过程的详细解析
演示Android activity的小工程,对应博文地址:http://blog.csdn.net/djstavaV/article/details/48809135
android组件Activity 的生命周期
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
android 启动 activity生命周期
Android说明Activity生命周期的代码例子。用于演示Activity组件从创建到销毁的完整生命周期,以及Activity在不同栈方式下的置换算法。
描述 Android Activity生命周期之间的关系
android下activity生命周期 生命周期: 回调 描述 onCreate() 这是第一个回调,在活动第一次创建是调用 onStart() 这个回调在活动为用户可见时被调用 onResume() 这个回调在应用程序与用户开始可交互的时候调用 ...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
Android_Activity_生命周期例子.主要通过几个activity 相互调用 解释生命周期,应该对大家了解android activity 的生命周期有所帮助
Android 中从activity1跳转到activity2再回到activity所经历的生命周期
Android之Activity生命周期,适合新手学习,全面而详细的介绍了Activity的生命周期。
源码 博文链接:https://104zz.iteye.com/blog/1685753
Android Activity 生命周期
android_ctivity生命周期,应用程序组件的简介以及生命周期,会对Andriod的开发最基本的有些深刻的认识
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Android-activity生命周期简单介绍,打好基础
android activty 生命周期 详细介绍