1.第一次启动Activity的时候调用的方法

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.v("520it", "onCreate 界面被创建的时候调用的");

}

@Override

protected void onStart() {

super.onStart();

Log.v("520it", "onStart 界面可见的时候调用的");

}

@Override

protected void onResume() {

super.onResume();

Log.v("520it", "onResume 界面可见的 并且能够获取焦点(能跟用户进行交互)时候调用的");

}

2,从AActivity 跳转到BActivity时候;(没有finish()))调取时候

会调取AActivity 中的 onPause() 和 onStop()

@Override

protected void onPause() {

super.onPause();

Log.v("520it", "onPause 界面可见的 但是无法操作(无法获取焦点)时候调用的");

}

@Override

protected void onStop() {

super.onStop();

Log.v("520it", "onStop 界面不可见的时候调用的");

}

3,再点击后退时候,再次调取AActivity中的onStart() 和onResume() 方法,不会调取onCreate();意思是说,当前界面没有销毁的时候,是不会调取onCreate()

@Override

protected void onStart() {

super.onStart();

Log.v("520it", "onStart 界面可见的时候调用的");

}

@Override

protected void onResume() {

super.onResume();

Log.v("520it", "onResume 界面可见的 并且能够获取焦点(能跟用户进行交互)时候调用的");

}

4,直到点击退出的时候会调取 onDestroy()

@Override

protected void onDestroy() {

super.onDestroy();

Log.v("520it", "onDestroy 界面被销毁的时候调用的");

}

下面是一张生命周期图

下面我来说一下 任务栈

android:name="com.m520it.taskstack.BActivity"

android:label="@string/app_name"

android:launchMode="standard" >

android:launchMode  有一下几种

1 standard默认的模式 以栈的形式存储到应用容器中 ,启动一次,就会把它放到栈

点击返回的需要一层一层的出来

2 singleTop 如果该Activity在栈顶 就不会重新启动了

android:name="com.m520it.taskstack.BActivity"

android:label="@string/app_name"

android:launchMode="singleTop " >

因为把BActivity 设置成 singleTop 由于BActivity 在栈顶不会再次创建新的Activity

3.singleTask 如果应用没有该AACtivity 则直接创建

如果发现该应用有AACtivity 那么会删除配置了该模式的AC栈上面的所有AC 而且不会再次创建本身

这两个图片的变化就是 singleTask  干的事情

4    singleInstance (容器提前)

就是配置了该模式的AC 如果没有创建就自己创建一个容器并把AC放进去   "并把自己的容器提前"

如果AC已经存在了  再次启动AC   "把自己的容器提前了"

如果一个应用里面 BAC配置了该模式  此时B已经启动 此时B所在的容器提到最前

此时如果有新的AC被启动  其他的容器会提前 并在最前面的容器里添加该新的AC

使用场景

singleTask

singleTop 登录这种情况

java activity生命周_关于Activity的生命周期和任务栈的理解相关推荐

  1. java日期相差周_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  2. java 当前日期 所在周_关于Java的小工具(计算当前日期所在周的区间)

    1.2.计算指定格式日期的当前周和前后周的起止时间 入参:date类型,或者当前系统时间 返回:当前时间的所在周的起止日期,和前后一周的起止日期 /** * 此方法为:根据当前日期获得所在周的日期区间 ...

  3. Activity生命周期中onStart()和onResume()的区别

    Activity生命周期中onStart()和onResume()的区别 在讲onStart()和onResume()的区别之前,必须清楚Activity的四种状态: 1.Running状态:一个新的 ...

  4. Android Activity 生命周期中onStart()和onResume()的区别

    首先了解Activity的四种状态 Running状态:一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态. Paused状态:当Activit ...

  5. android tabhost 多个activity,Android:TabHost中Activity的生命周期问题

    用过TabHost制作多个activity的分页效果的朋友应该知道,tabhost中镶嵌的activity的onCreate和onDestroy是和tabhost关联的,在创建了tabhost之后,第 ...

  6. activity启动流程_以AMS视角看Activity启动过程

    原文作者:Levi_wayne 原文地址:blog.csdn.net/u012551754/article/details/78822782 特别声明:本文转载自网络,版权归作者所有,如有侵权请联系删 ...

  7. 1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。

    1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程. 首先,我创建了一个MainActivity和SecondActivity两个Activity. ...

  8. 【Android 四大组件之Activity】一文吃透Activity 生命周期

    作者:半身风雪 简介:在Android组件中最基本也是最为常见的四大组件: Activity Service服务 Content Provider内容提供者 BroadcastReceiver广播接收 ...

  9. activity 启动模式_腾讯大牛:你根本不懂Activity!

    码个蛋(codeegg)第 583 次推文 作者:厘米姑娘 原文:https://www.jianshu.com/p/602b1ec4ca7a 在之前的Activity篇主要学习Activity的生命 ...

最新文章

  1. FreeSwitch自带的电话会议
  2. 第五章(5)Libgdx应用框架之线程
  3. 信息系统项目管理师-信息化与信息系统核心知识点思维脑图
  4. 使用timer定时器,防止事件重入
  5. vue下的props,data
  6. php接口异常,api接口异常怎么办
  7. html5 ios cookie,ios – WKWebView,获取所有cookie
  8. python递归必须要有_python如何递归生成树?
  9. 从零打造 Vue 聊天组件
  10. Android 8.0 linux内核,在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序---Android8.0版本实现-对照老罗版本...
  11. 结束下面sql块_oracle: PL/SQL基本结构,语法,变量
  12. andriod studio获取root_怎样获得root权限
  13. java从入门到放弃教程(一) 想转行的看过来
  14. p值小于0.05拒绝还是接受_干货:关乎你的实验成败,0.05这个值不容小觑!
  15. 自己做的SIP软电话
  16. Codeforces - Chloe and pleasant prizes
  17. 山东腾飞科尔沁 国稻种芯·中国水稻节:内蒙沙漠万亩水稻
  18. quorum-maker中遇到的问题
  19. 如何通过YouTube实现财富自由?
  20. OpenStack Ironic 裸金属的配置及使用

热门文章

  1. vcenter6.7许可证企业版_本地的公司看过来,增值电信业务许可证如何办理!
  2. mysql update 多个字段_MySQL数据库基础
  3. android布局添加背景颜色,android-获取布局的背景色
  4. synchronized()_深入理解synchronized
  5. mysql 单表数据_Mysql--单表数据记录查询
  6. 分支结构定义java_[Android-Java]2.分支结构-(4-7)
  7. 茄子快传 java,如何打造茄子快传这样一款Android应用(项目已完成,github)
  8. python 并发编程 多线程 event
  9. log4j+mybatis打印日志文件
  10. (01)JVM-内存三大核心区域以及分析