Android四大组件之---activity生命周期详解
来源:互联网 发布:java中文api 编辑:程序博客网 时间:2024/06/05 10:23
有的朋友可能看英文的有点费劲,再提供一张中文版的 O(∩_∩)O
相信已经很多人对这张图再熟悉不过了,下面笔者按照自己的理解并结合写的demo解释一下activity的生命周期,
有不足之处还望同行指正.
- Activity的生命周期主要有以下六种
- onCreate(): 当 activity 组件的实例创建的时候会被调用
- onStart(): 在activity组件看得见的时候被调用
- onResume(): 在activity组件获得焦点的时候被调用
- onPause(): 在activity组件失去焦点的时候被调用
- onStop(): 在activity组件看不见的时候调用
- onDestory(): 当 activity 组件销毁的时候被调用
以下是我新建的一个小demo,代码如下:
1 public class MainActivity extends Activity { 2 3 //一般用来做控件的 初始化 4 //创建的时候调用 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 System.out.println("onCreate 执行 ");10 }11 12 // 看得见的时候调用 13 @Override14 protected void onStart() {15 System.out.println("onstart 执行");16 super.onStart();17 }18 19 //获得焦点的 时候 调用 20 // 如:继续游戏 21 @Override22 protected void onResume() {23 super.onResume();24 System.out.println("onResume 执行");25 }26 27 //失去 焦点 28 //如:暂停 游戏 29 @Override30 protected void onPause() {31 super.onPause();32 System.out.println("onPause执行 ");33 }34 35 36 //看不见的时候调用 37 @Override38 protected void onStop() {39 System.out.println("onstop 执行");40 super.onStop();41 }42 43 //销毁的时候 调用 44 @Override45 protected void onDestroy() {46 super.onDestroy();47 System.out.println("onDestroy 执行 ");48 }49 50 }
在每个方法里都加了一句输出语句,用于在控制台观察执行的效果
2. 下面启动模拟器开始测试:
1) 启动Activity:
在系统调用了onCreate和onStart之后,调用了onResume,自此,Activity进入了运行状态。
2) 跳转到其他Activity,或按下Home键回到主屏:
在这里我们可以看到,这时activity没有真正退出,而是在后台运行.
相继调用了onPause()和onStop(),先失去了焦点,然后看不见
3) 从后台回到前台:
当从后台会到前台时,系统先调用onStart方法,最后调用onResume方法,Activity又进入了运行状态。
在这个过程中,activity先看得见,再到获得焦点
4) 在这个activity上再覆盖一个透明的应用
下面再做一个实验,新建一个test应用,在清单文件中的aplication节点加如下代码:
android:theme="@android:style/Theme.Translucent"
将test改为透明背景,覆盖在activity的上面,效果如下:
这时,控制台打印了如下内容:
可以看出, 在程序被另一个程序覆盖后失去了焦点,但还可以看得到,
所以只是执行了onPause方法
5) 按回退键,退出test,让之前的activity重新获得焦点
这时,onResume方法执行
6) 退出
最后onDestory方法被调用,标志着LifeCycleActivity的终结。
好了,大体上就说这些,这时再回头看第一张图,是否理解更深一点了呢?
- Android四大组件之---activity生命周期详解
- Android四大组件之Activity,Activity生命周期
- Android的四大组件之Activity生命周期详解
- Android四大组件之Activity的生命周期详解
- Android 四大组件学习之Activity生命周期
- Android 四大组件之Activity生命周期
- Android 四大组件之 Activity(1)--生命周期
- Android 四大组件之 Activity生命周期
- Android四大组件之Activity(七大生命周期)
- Android四大组件之Activity的生命周期
- Android四大组件之Activity生命周期分析
- Android 四大组件Activity之生命周期
- Android四大组件之Activity(生命周期)
- 四大组件之activity(生命周期)
- Android 四大组件生命周期:Activity
- android四大组件--Activity生命周期
- Android四大组件之Activity--Activity生命周期(一)
- Android 四大核心组件之Activity详解
- 配置Tomcat使用https协议
- C++中的内存泄露
- Android开发中实现https校验
- Spark 介绍
- Android中handler机制的原理
- Android四大组件之---activity生命周期详解
- Android中实现activity的页面跳转并传值
- 基于spark的多模型融合的推荐系统
- Activity的四种启动模式
- Android中广播接收者BroadcastReceiver详解
- Android中常见的对话框
- Android四大组件之一 -- Service详解
- Java调用Oracle存储过程应该加上花括号
- Android中为什么需要服务?