Activity详解生命周期(Android)
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)的更多相关文章
- 微信小程序开发之详解生命周期方法
生命周期是指一个小程序从创建到销毁的一系列过程 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面 先来看一张小程序项目结构 从上图可以看出,根目录下面有包含了app.js ...
- ASP.NET运行时详解 生命周期入口分析
说起ASP.NET的生命周期,网上有很多的介绍.之前也看了些这方面的博客,但我感觉很多程序猿像我一样,看的时候似乎明白,一段时间过后又忘了.所以,最近Heavi花了一段时间研究ASP.NET的源代码, ...
- Tomcat源码分析 | 一文详解生命周期机制Lifecycle
目录 什么是Lifecycle? Lifecycle方法 LifecycleBase 增加.删除和获取监听器 init() start() stop() destroy() 模板方法 总结 前言 To ...
- Xamarin android 之Activity详解
序言: 上篇大概的讲解了新建一个android的流程.今天为大家带来的是Activity详解,因为自己在开发过程中就遇到 好几次坑,尴尬. 生命周期 和Java里头一样一样的,如图 图片来源于网上哈, ...
- 详解Android中的四大组件之一:Activity详解
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...
- Android Small插件化框架解读——Activity注册和生命周期
通过对嵌入式企鹅圈原创团队成员degao之前发表的<Android Small插件化框架源码分析>的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特 ...
- Android活动(Activity)创建及生命周期
Activity是Android的门面,可以与用户进行互动的重要模块,凡是在应用中可以看到的东西,都是放在活动中的. 在学习新的技术时,我喜欢将需要学习的技术与自己懂得技术进行类似比较,而活 ...
- [安卓基础] 009.组件Activity详解
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Activity详解一 配置、启动和关闭activity
先看效果图: Android为我们提供了四种应组件,分别为Activity.Service.Broadcast receivers和Content providers,这些组建也就是我们开发一个And ...
随机推荐
- ZooKeeper原理及使用
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby.今天这篇 ...
- ++a和a++的区别
另: short s = 4; s = s + 1; // 编译不通过.因为编译器无法判断等号右边的运算结果是否依然在等号左边的short类型范围内,容易丢失精度. s += 1; // 编译通过.+ ...
- jQuery 中bind(),live(),delegate(),on() 区别(转)
当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 准备知识: 当我们在开始的时候,有些知识是必须具备的: D ...
- 深入理解javascript闭包(二)
在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入.本人经过一段时间的学习,对闭包的概念又有了新的理解.于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给 ...
- Oracle研究专题:Oracle系统安装与配置
最近开始研究Oracle数据库,盖因公司的系统要么Oracle要么是mysql吧. 作为一个IT工作者,没有碰过Oracle是一件很匪夷所思得事情. 想到过去几年,乃至接触IT行业开始就只有玩过sql ...
- iOS获取网络图片大小
在iOS开发过程中经常需要通过网络请求加载图片,有时,需要在创建UIImageView或UIButton来显示图片之前需要提前知道图片的尺寸,根据图片尺寸创建对应大小的控件.但是对于网络图片来说,要想 ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- yii2 modal弹窗之ActiveForm ajax表单异步验证
作者:白狼 出处:http://www.manks.top/yii2_modal_activeform_ajax.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- __dbg.h
#ifndef __HSS_DBG_HSS__ #define __HSS_DBG_HSS__ /*************************************************** ...