Activity LifeCycle 生命周期

news/2024/7/6 1:11:05

1. Android中Activity的调用机制

     据我的了解,Android中Activity跳转的实现,主要是通过栈的先进后出的原理设计的。当新建一个Activit的时候,把它压入栈,然后按返回键的时候,就出栈。android设置了容纳Activity栈的大小,当超过某个值的时候,系统就自动会对其进行回收。具体怎么实现的,后续研究。

2. Android证明周期中的过程

        程序第一次启动时的调用:  onCreate  ---> onStart()  --> onResume()

        Activity A  调用Activity B的过程: 

                       Activity  A:  onPause –> 等待B的创建  -->  onStop

                       Activity B :   onCreate  ---> onStart()  --> onResume()

      按返回键回到A时

                     Activity B  :  onPause –> 等待A恢复  ---> onStop –> onDestory

                     Activity A  :  onRestart  --> onstart –>onResum

        onCreate 和onStart的区别?

              onCreate 被调用的时候,一定是一个新的窗体创建的时候,而onStart在窗体创建之后或者窗体从暂停状态跳转到激活状态

         onResum: 被调用的时候,Activity的画布已经出来了,只等待绘制控件了。因此一般在此添加控件的动画

        onPause 和onStop和onDestory的区别:

                onPause: 窗体A执行跳转到B的时候被调用,涉及到数据的保持等操作的时候,一般在onPause中做

                onStop: 当窗体A成功调用到窗体B时被调用,

                onDestory:窗体被销毁的时候调用

                因为栈对Activity的回收机制,因此尽量不要在onStop和onDestory中做跳转时数据的保存。


http://www.niftyadmin.cn/n/4121153.html

相关文章

关于LUN、PV、VG和LV

1.划分LUN LUN只是一个逻辑的东西。在存储设备内部,LUN与物理硬盘的关系,如同主机中逻辑卷与物理硬盘的关系,也就是好像LV和PV的关系,在不同范畴。可以理解为LUN就是在做完RAID之后的逻辑盘上分出来的logic driver。 但不同的是&a…

重构:第一个案例

在写重构的学习笔记之前,首先我们需要向伟大的软件设计师Martin Fowler致敬,是他带给了我们重构的思想,敏捷的思想。 重构--改善既有代码的设计。意味着对现有运行中的代码进行新的修改、设计。这对很多项目经理来说是不可思议的,…

敏捷开发 慨叙

在开始写敏捷开发系列博客时,首先感谢伟大的软件设计师Martin Fower以及其他几位敏捷思想的创建人,是他们带给了我们新的编程思想,解决了毕业几年来一直困恼我的很多问题。 软件开发是一种对人类智慧的管理,对人大脑思维的“工厂化…

An ATL Sample using VS2005

An ATL Sample using VS2005<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1. Create an ATL COM1). Start VS2005, new a project, select “Visual C”->”ATL”->”ATL Project”, specify the name(“SimonAT…

敏捷开发 迭代流程

敏捷是一柄双刃剑&#xff0c;用的好能极大的提升开发效率&#xff0c;适应需求的变化&#xff01;用的不好则会导致项目的混乱。现在很多公司都说自己在用敏捷开发&#xff0c;很多程序员也说自己懂敏捷开发&#xff01;简单的认为敏捷就是站立会议&#xff0c;就是迭代的开发…

推荐给大家一个网络工程标书模版(仅供参考)

网络工程投标书<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />目 录1. 经济部分.. 31.1. 唱标报告.. 31.2. 设备及软件报价明细表.. 42. 商务部分.. 52.1. 投标函.. 52.2. 投标人承诺函.. 62.3.…

敏捷开发 迭代需求

迭代需求的整理是敏捷开发的第一步&#xff0c;也是敏捷开发很重要的一步&#xff0c;在这一步中我们需要把客户的业务需求按照优先级的顺序&#xff0c;整理成为一个个的迭代。然后把一个个的迭代拆成一个个可验收的故事卡。 在此需要说说什么是故事卡&#xff0c;故事卡和业务…

斯坦福大学iOS应用开发教程学习笔记(第三课) Objective-C

1、为什么用property&#xff0c;理由有两个&#xff1a; 实体变量的安全性和继承能力 提供延迟实例化&#xff0c;比如&#xff1a;UI更新&#xff0c;一次性检测。 1.1 property可以没有实体变量&#xff0c;怎么做到的呢&#xff1f; 不要用synthesize&#xff0c;自己创建g…