Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。

    Activity的概念:

      Activity它的本质上其实就是一个窗体,如我们打开软件它呈现在你眼前的都只是一个窗体而已。它可以与用户进行交互的基本的图形呈现单元。

      不同的是Activity它是没有最小化这种概念的。在Windows平台有最大化的概念,在苹果平台的窗体也是没有最大化的概念,只有调整窗体大小的概念

    Activity的三种状态:

      我们随便打开一个应用程序

这个时候我们看到的是拨号的这个Activity对吧。(运行状态) 我们点击Home键。

当我们点击回到桌面的时候,拨号的那个Activity就看不到了,这个时候就属于(停止状态)

然后我们长按Home键

那么此时我们后面的那个Activity就是(暂停状态)

    Activity生命周期:

        那么生命周期呢,我们来打开一个网站Activity生命周期图,接着,我们拿到这张图,我来给你们讲解一下运行流程。      

1.第一步呢这个Activitylaunched被启动,被启动之后首先会执行一个onCreate()方法,然后呢执行一个onStart()方法。再之后呢再执行一个onResume()方法,

2.只有在onResume执行之后,Activity才会处于运行状态。之后呢我们可以看到Activityrunning就是另外一个Activity会跑到我们的前面,

3.我们当前的Activity会执行一个onPause()回调方法。再往下呢如果我们的Activity处于不可见的状态,也就是停止状态,会执行一个onStop()这样一个回调方法。

4.如果说一个Activity处于暂停状态和停止状态之后呢,我们往左边看这个流程。如果有其他优先级更高的应用程序,它需要内存的话。我们的操作系统会把我们的Activity杀死掉。此时我们的应用程序也就会完全的被停止,内存被释放。然后供我们一些内存更高的优先级应用程序使用。如果说什么时候用户重新的去导航到我们挡墙Activity的话,那么它会重新的执行我们的onCreate()方法。就是这样的一个流程。

5.那么如果说一个应用程序处于一个暂停状态。比如我们上面的打电话程序。我们长按Home键,然后我们又回来,用户又重新回来我们的拨号页面。它会重新执行我们的方法onResume()方法。

6那么如果一个应用程序处于一个Stop状态。然后用户又重新导航到我们的程序,它会执行一个onStop()方法。在这里我们要注意一点:如果我们的Activity所在的应用程序,没有被销毁的话。从暂停状态重新执行到运行状态会重新执行onRestart()方法。然后再执行onStart(),然后再执行onResume()这样的一个流程。

7.那么onDestroy()这个方法是在什么时候被执行呢? onDestroy()这个方法也就是说在Activity被系统给销毁的时候会执行onDestroy()方法,在onDestroty()方法执行完毕之后,我们的这个应用程序就彻底的被关闭了。

这就是Activity的生命周期了。

Activity详解生命周期(Android)的更多相关文章

  1. 微信小程序开发之详解生命周期方法

    生命周期是指一个小程序从创建到销毁的一系列过程 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面 先来看一张小程序项目结构 从上图可以看出,根目录下面有包含了app.js ...

  2. ASP.NET运行时详解 生命周期入口分析

    说起ASP.NET的生命周期,网上有很多的介绍.之前也看了些这方面的博客,但我感觉很多程序猿像我一样,看的时候似乎明白,一段时间过后又忘了.所以,最近Heavi花了一段时间研究ASP.NET的源代码, ...

  3. Tomcat源码分析 | 一文详解生命周期机制Lifecycle

    目录 什么是Lifecycle? Lifecycle方法 LifecycleBase 增加.删除和获取监听器 init() start() stop() destroy() 模板方法 总结 前言 To ...

  4. Xamarin android 之Activity详解

    序言: 上篇大概的讲解了新建一个android的流程.今天为大家带来的是Activity详解,因为自己在开发过程中就遇到 好几次坑,尴尬. 生命周期 和Java里头一样一样的,如图 图片来源于网上哈, ...

  5. 详解Android中的四大组件之一:Activity详解

    activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...

  6. Android Small插件化框架解读——Activity注册和生命周期

    通过对嵌入式企鹅圈原创团队成员degao之前发表的<Android Small插件化框架源码分析>的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特 ...

  7. Android活动(Activity)创建及生命周期

       Activity是Android的门面,可以与用户进行互动的重要模块,凡是在应用中可以看到的东西,都是放在活动中的.   在学习新的技术时,我喜欢将需要学习的技术与自己懂得技术进行类似比较,而活 ...

  8. [安卓基础] 009.组件Activity详解

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  9. Activity详解一 配置、启动和关闭activity

    先看效果图: Android为我们提供了四种应组件,分别为Activity.Service.Broadcast receivers和Content providers,这些组建也就是我们开发一个And ...

随机推荐

  1. IO模型

    前言 说到IO模型,都会牵扯到同步.异步.阻塞.非阻塞这几个词.从词的表面上看,很多人都觉得很容易理解.但是细细一想,却总会发现有点摸不着头脑.自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了 ...

  2. css单行文本与多行溢出文本的省略号问题

    在文字布局和代码编写过程中遇到文本溢出是常有的事,下面总结一下对于单行文本溢出和多行文本溢出省略号的处理. 一.单行文本省略号 <p class="text1"> 这是 ...

  3. DarkTrack 4 Alien Version Released RAT 下载地址&视频教程

    不废话,点我下载. 官方论坛:https://forum.darktrack.net 作者脸书:https://www.facebook.com/darktrackrat E安全报道:https:// ...

  4. 自定义PopupWindow

    PopupWindow,一个弹出窗口控件,可以用来显示任意View,而且会浮动在当前activity的顶部 自定义PopupWindow. 1.extends PopupWindow 2.构造方法中可 ...

  5. 在项目中使用ExtJS

    主要目录文件介绍 builds:压缩后的ExtJS代码,体积更小,更快:docs:开发文档:examples:官方演示示例:locale:多国语言资源文件:pkgs:ExtJS各部分功能的打包文件:r ...

  6. Spark SQL 之 DataFrame

    Spark SQL 之 DataFrame 转载请注明出处:http://www.cnblogs.com/BYRans/ 概述(Overview) Spark SQL是Spark的一个组件,用于结构化 ...

  7. 【转】MySql中的函数

    原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...

  8. 使用Logstash进行日志分析

    LogStash主要用于数据收集和分析方面,配合Elasticsearch,Kibana用起来很方便,安装教程google出来很多. 推荐阅读 Elasticsearch 权威指南 精通 Elasti ...

  9. 2-部署phpmyadmin

    软件下载地址:https://files.phpmyadmin.net/phpMyAdmin/4.5.5.1/phpMyAdmin-4.5.5.1-all-languages.zip 解压软件 [ro ...

  10. php在5.5.0默认提供了Zend OPcache

    eaccelerator无法兼容php5.5.0,好在php在5.5.0默认提供了Zend OPcache,所以一直习惯eaccelerator的朋友如果要升级到php5.5.0的话,可能要暂时和ea ...