android开发之生命周期
android开发之生命周期
一:Activity的生命周期:
- 这几天了了解了安卓Activity的生命周期,对于生命周期有了大概的理解;
- 一个Activity的生命周期也就是Activity从生成到运行,到登入其他界面时暂停,再到到当其他界面生成时停止,或者重新进入界面重写启动,直到最后activity被销毁的一系列过程;总的来说Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:
1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;
2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activity并不是铺满整个手机屏幕),此时处于暂停状态;
3.当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态;
4.当Activity由于人为或系统原因(如低内存等)被销毁,此时处于销毁状态;
如图:
- (A)activity开始的时候,会首先调用:Oncreat()>>>Onstart()>>>OnResume(),这时(A)activity的界面进入到我们的视线;activity开始运行;
- 当跳转到另外一个(B)activity,也就是进入到另外一个界面时,(A)activity会调用OnPause()函数;进入暂停阶段,然后(B)activity又会像(A)activity开始一样,调用:Oncreat()>>>Onstart()>>>OnResume(),当(B)activity进入我们的视线时,开始运行时,(A)activity会调用Onstop()函数;处于停止状态;
- 当我们按下返回菜单,进行返回操作时,(B)activity会调用OnPause()函数,进入暂停状态,然后(A)activity会调用: OnRestart()>Onstart()>OnResume()函数,然后(A)activity的界面会进入我们的界面,然后(B)activity调用Onstop()>>OnDestroy()函数,此时(B)activity被销毁;
- 而当我们调用的是我们在界面上定义返回(A)activity的button按钮时,(B)activity同样会先进入暂停,也就是调用了OnPause()函数,但是(A)activity调用的是:Oncreat()>>>Onstart()>>>OnResume(),也就是说,重新生成了一个(A)activity,而不是回到原先创建的(A)activity里面;然后(B)activity调用Onstop()暂停,而不是销毁;
- 所以按菜单的返回键和界面上定义的activity上面的返回按钮是不一样的;
- 当(A)activity调转到一个显示为能话框模式的(C)activity中时;同样的(A)activity会调用OnPause()函数;进入暂停阶段,然后(C)activity会首先调用Oncreat()>>>Onstart()>>>OnResume(),这时(A)activity的界面进入到我们的视线;但是(A)activity并没有停止,也就是没有调用Onstop的方法;而只有当我们从(C)activity登入到其他的activity时,(A)activity才会调用OnStop()停止;
- 当进入(C)activity,然后按返回按钮时,(C)activity会调用Onpause()方法暂停,然后上一个activity这里是(A)activity就会调用OnResume()函数;(A)activity界面就出现在我们的面前了,同时(C)activity会调用Onstop>>OnDestroy()函数,进行销毁;(这里点击(A)activity界面也是一样)
- 另外:当activity调用了Onpause()进入暂停阶段时;如果内存不足时,程序会被杀死,也就是销毁;
二.构成生命周期的几个函数:
android开发之生命周期的更多相关文章
- Android开发——Activity生命周期
Android开发--Activity生命周期 Activity作为四大组件之首,也是使用最频繁的一种组件.本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下 ...
- android开发------Activity生命周期
这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- Android Activity的生命周期简单总结
Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...
- Android内的生命周期整理
1. Android App的生命周期: 2. Application的生命周期: 3. Activity的生命周期: 3.1 Fragment的生命周期: 4. Service的生命周期:5. Br ...
- 重温Android和Fragment生命周期
重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作. 1.Android生命周期 1.1 生命周期图 1.2 生命周期函数说明 onCreate: ...
- 浅尝Spring注解开发_Bean生命周期及执行过程
Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期.自定义初始化方法.Debug BeanPostProcessor执行过程及在Spring底层中的应 ...
- Xamarin.Android活动的生命周期
一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的, ...
- Android Activity的生命周期
一.为什么要了解Activity的生命周期 activity is directly affected by its association withother activities, its tas ...
随机推荐
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
- fabric批量操作远程操作主机的练习
fabric是python的一个基于命令行的自动化部署框架,用docker开了两个容器来学习fabric. #!/usr/bin/env python #-*- coding=utf-8 -*- fr ...
- 布局 - layout
示例 <div id="cc" class="easyui-layout" style="width:600px;height:400px;&q ...
- Windows Phone App Studio 无码开发手机应用
上周微软发布了一款基于Web的Windows Phone应用开发工具 "Windows Phone App Studio".它与大家熟知Visual Studio的最大不同之处是W ...
- jquery常用代码
转自:未找到 以下是jquery中比较常用的一些操作实现方式: $("标签名") //取html元素 document.getElementsByTagName("&qu ...
- string to char* and char* to string 玩转 String 和 Char*
char 类型是c语言中常见的一个数据类型,string是c++中的一个,它的定义为 Strings are objects that represent sequences of character ...
- WPF中的数据验证
数据验证 WPF的Binding使得数据能够在数据源和目标之间流通,在数据流通的中间,便能够对数据做一些处理. 数据转换和数据验证便是在数据从源到目标 or 从目标到源 的时候对数据的验证和转换. V ...
- Eclipse 反编译插件JadClipse安装
下载jadClipse地址: 链接: http://pan.baidu.com/s/1kTN4TPd 提取码: 3fvd 将net.sf.jadclipse_3.3.0.jar拷贝到eclipse的 ...
- 似魔鬼的 『 document.write 』
在平时的工作中,楼主很少用 document.write 方法,一直觉得 document.write 是个危险的方法.楼主不用,并不代表别人不用,最近给维护的项目添了一点代码,更加深了我对 &quo ...
- 继续node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ
前言 不说话,先猛戳 Ranklist 看我排名. 这是用 node 自动刷题大概半天的 "战绩",本文就来为大家简单讲解下如何用 node 做一个 "自动AC机&quo ...