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开发之生命周期的更多相关文章

  1. Android开发——Activity生命周期

    Android开发--Activity生命周期 Activity作为四大组件之首,也是使用最频繁的一种组件.本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下 ...

  2. android开发------Activity生命周期

    这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...

  3. Android开发--Activity生命周期回顾理解

    Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...

  4. Android Activity的生命周期简单总结

    Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...

  5. Android内的生命周期整理

    1. Android App的生命周期: 2. Application的生命周期: 3. Activity的生命周期: 3.1 Fragment的生命周期: 4. Service的生命周期:5. Br ...

  6. 重温Android和Fragment生命周期

    重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作. 1.Android生命周期 1.1 生命周期图 1.2 生命周期函数说明 onCreate: ...

  7. 浅尝Spring注解开发_Bean生命周期及执行过程

    Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期.自定义初始化方法.Debug BeanPostProcessor执行过程及在Spring底层中的应 ...

  8. Xamarin.Android活动的生命周期

    一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的, ...

  9. Android Activity的生命周期

    一.为什么要了解Activity的生命周期 activity is directly affected by its association withother activities, its tas ...

随机推荐

  1. http协议(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  2. js checkbox 选中判断

    var isSelect = ""; isSelect = $("#tblImgList" + " input[type='checkbox']&qu ...

  3. Codevs1026 逃跑的拉尔夫

    题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移动 ...

  4. Flex String转Date

    在Flex中日期字符串转为Date类型,可以使用静态方法DateFormatter.parseDateString(str:String):Date方法. 该方法支持的字符串格式包括: YYYY-MM ...

  5. 探索Windows 8.1 Update 新功能点

    Windows 8.1 Update 已经使用一段时间了,整体感觉比Windows 8.1 方便了不少,尤其是对鼠标用户来说更是进行了很多优化. 应用磁贴尺寸 在应用磁贴点击鼠标右键,有小.中.宽.大 ...

  6. Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端

    Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端 目录 前言 OAuth2.0简介 授权模式 (SimpleSSO示例) 使用Microsoft.Owin.Se ...

  7. Makefile 中:= ?= += =的区别

    在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = ...

  8. LeetCode 解题报告索引

    最近在准备找工作的算法题,刷刷LeetCode,以下是我的解题报告索引,每一题几乎都有详细的说明,供各位码农参考.根据我自己做的进度持续更新中......                        ...

  9. mongodb .net core 调用

    MongoClient _client; IMongoDatabase _db; MongoCredential credential = MongoCredential.CreateMongoCRC ...

  10. Windows下搭建PHP环境:Apache+PHP+MySQL

    本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...