Activity七大生命周期详解

Activity与Fragment的生命周期详解 在安卓中Activity与Fragment是非常相似的两个类,它们各自都拥有自己的生命周期,且都可以用来显示布局文件中的视图。其中Activity是通过setContenView()显示视图,而Fragment是通过在onCreateView()中将布局xml文件解析为一个View然后返回该View来显示视图,也正因为具备相似的功能,所以它们的生命周期也极为相似,熟练掌握它们的生命周期是做出高效稳 阅读详情

首先,流程图来一张:
这里写图片描述

介绍生命周期之前,先提一下任务的概念:
任务其实就是activity 的栈,换句话说任务就是” 应用程序” 。
栈底的是启动整个任务的Activity,栈顶的是当前运行的用户可以交互的Activity,当一个activity 启动另外一个的时候,新的activity 就被压入栈,并成为当前运行的activity。而前一个activity 仍保持在栈之中。当用户按下BACK 键的时候,当前activity 出栈,而前一个恢复为当前运行的activity。栈中保存的其实是对象,栈中的Activity 永远不会重排,只会压入或弹出,所以如果发生了诸如需要多个地图浏览器的情况,就会使得一个任务中出现多个同一Activity 子类的实例同时存在。
Activity栈:先进后出规则
为什么需要生命周期?
Android系统是一个多任务(Multi-Task)的操作系统,可以在用手机听音乐的同时,也执行其他多个程序。每多执行一个应用程序,就会多耗费一些系统内存,当同时执行的程序过多,或是关闭的程序没有正确释放掉内存,系统就会觉得越来越慢,甚至不稳定。
为了解决这个问题, Android 引入了一个新的机制– 生命周期(Life Cycle)。
Android 应用程序的生命周期是由Android 框架进行管理,而不是由应用程序直接控制。

Activity整个生命周期的4种状态、7个重要方法
四种状态
1.活动(Active/Running)状态

当Activity运行在屏幕前台(处于当前任务活动栈的最上面),此时它获取了焦点能响应用户的操作,属于运行状态,同一个时刻只会有一个Activity 处于活动(Active)或运行状态
2. 暂停(Paused)状态

当Activity失去焦点但仍对用户可见(如在它之上有另一个透明的Activity或Toast、AlertDialog等弹出窗口时)它处于暂停状态。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但是当系统内存极小时可以被系统杀掉
3. 停止(Stopped)状态

完全被另一个Activity遮挡时处于停止状态,它仍然保留着所有的状态和成员信息。只是对用户不可见,当其他地方需要内存时它往往被系统杀掉
4. 非活动(Dead)状态

Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动的状态,要手动终止Activity,可以在程序中调用”finish”方法。

七个重要方法:
onCreate() 第一次创建时执行:做界面初始化的工作:控件的实例化,监听器的设置(恢复现场)
onStart() 显示窗口时执行,创建视图—–可见不可交互
onResume() 可获取用户焦点时执行—–可见可交互
onPause() 失去用户焦点时执行–可见不可交互(跳转,来电,退出)
OnStop() 窗体不显示——-不可见不可交互
onDestroy() 销毁时执行onStop() 关闭窗口时执行
onRestart() 重新显示窗口时执行

各种情况下生命周期的回调规律
1.打开主界面,后退键退出——->全生命周期

  1. 打开主界面,切换横屏竖屏。
    Onpause–onstop–ondestroy oncreate–onstart–onresume

  2. 打开主界面,点击该界面中捆绑退出事件的按钮后退出
    全生命周期历程

  3. 打开主界面,按钮进入第二个页面,再从第二个页面返回—–》
    Oncreate-onstart-onresum onpause—onstop onrestart—onstart—onresum

5.打开主界面, 电话进入及挂机,再次显示主界面
Oncreate-onstart-onresum
来电:
Onpause—onstop

挂机:
Onrestart—onstart–onresume

6.打开主界面,HOME键退出,再次启动app
HOME键:
Onpause—onstop
再次启动app
Onrestart—onstart–onresume

生命周期的作用:
①当用户接一个电话或切换到另一个程序不会崩溃
②当用户后台运行程序时不会销毁有价值的系统资源
③当用户离开再返回你的应用时不会丢失用户的进程
④当手机屏幕进行横竖屏切换的时候不会崩溃或者丢掉用户的进程

拓展:
protected void onCreate(Bundle savedInstanceState)
括号的参数的意思就是:现场保护时存入的数据,也就是说突然来电话了,程序中断,数据不会丢失,数据会回调保存。
Android保护现场的方法:onSavedInstanceState
恢复现场的方法:onRestorInstanceState onCreate

Activity7 入门篇【官方流程设计器】 Activity7 进阶篇(官方设计器) 案例源码工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。案例:出差费用报销 目标:公司把出差费用转账到自己的账户中。 参与人:申请人、部门主管、总经理、财务。是一种按照预定义规则【需要符合BPMN规范】进行部署,将业务和节点的流程进行分离【特定形式进行关联】,实现节点的自动流转的工作流框架。 阅读详情

相关推荐

activiti7(三):Activiti7简介与HelloWorld

activiti7简介与helloworld,旨在学习activiti7的工作流程和原理

no problem的博客 1万+

Activity生命周期(五大状态七大方法)

Activity生命周期是指一个Activity从创建到销毁的全过程。下图是Activity的生命周期模型。 一、生命周期五种状态 (1)启动状态:Activity的启动状态很短暂,当Activity启动后便会进入运行状态。 (2)运行状态:Activity在此状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互。如单击、长按等事件。即使出现内存不足的情况,Android...

我的书包哪里去了 3万+

activity7学习教程

一、主题:Activiti7入门 二、内容概要: 1、包含activity7的大纲脑图 2、示例代码,activity整合spring,整合springboot 3、导学笔记和视频 4、pdf讲义和markdown讲义 四、Activiti是目前使用最常用的工作流引擎,在企业中的应用非常广泛。 内容主要分为3部分 一、Activiti的基础入门 二、Activiti的高级应用 三、Activiti与Spring的整合,编写应用DEMO 要求:有一定的JAVA编程基础,MySQL数据库,了解Web开发和Spring框架 你可以得到: 掌握Activiti的架构、数据结构 掌握Activiti的基本原理 会使用Activiti提供的API完成业务 可以把Activiti和第三方框架整合使用

Activiti7工作流—从零到实战

Activity7、工作流实现方式、工作流实现原理、BPM、BPMN、部署 activity、IDEA配置activity、eclipse配置activity、Activiti Designer 流程设计器、Activiti 服务架构、流程定义、流程实例、流程变量、组任务、排他网关、并行网关

东风麦芽糖 3万+

【WebLogic】Linux图形化界面安装WebLogic 14.1.2.0

Linux系统图形化界面安装WebLogic 14.1.2.0.0版本

cnskylee的博客 837

ZEMAX学习 6.一个照相物镜的设计

曲线越平滑表示场曲越小,曲线越接近水平,系统边缘与中心对比度越接近,虚实越接近表示色差和色散越好;第1个面设计不合理,出现前后表面相交的情况,点击第1面厚度,选择边缘厚度,设置为0.1,第1面厚度被控制在0.1mm厚,系统根据这一设置始终保持第1面边缘厚度为0.1mm。要求:设计一个照相物镜,焦距f=9mm,F#为4,视场角40°;添加有效焦距操作数EFFL 9mm 权重为1,设置优化变量,如下图,ctrl+shift+o打开优化界面。报告中系统数据有效焦距为67.381mm,设计要求为9mm;

qq_24542783的博客 4710

Android Activity生命周期详解

Activity作为Android的四大组件之一,非常的重要,也是最常用的四大组件,使用Activity必须要在AndroidManifest中进行注册,那么作为Android的基础,Activity的生命周期你是否完全掌握了呢?下面就让我们来一起回顾一下Activity的生命周期吧! 首先,你需要知道 Activity的生命周期分为两种。   典型情况下的生命周期(就是我们开发中经常用到的...

李家大大大公子 2万+

DDSP(Differentiable Digital Signal Processing) 开篇

文章目录DDSP可以用来做什么?下一步工作 工作中接触到了DDSP声码器,但非科班出声的我对这块知识非常陌生,甚至带有一些畏惧的心理,但是为了工作为了进步,必须硬下头皮去啃,相信只要耐心地坚持,没什么能难到我。于是从今天开始,就用这个博客专栏来记录我的学习历程,希望也能帮助到你~ DDSP对应的论文是:DDSP: Differentiable Digital Signal Processing 先翻译一篇来自DDSP论文作者的对DDSP的介绍的文章。 今天,我们很高兴地介绍可微数字信号处理(DDSP)库。

YeeKo的博客 9246

Android开发Activity生命周期详解

本文详解Android开发Activity生命周期。

qq_30725967的博客 2205

Li‘s 核磁共振影像数据处理-4-使用3D Slicer从DTI计算参数图(FA、ADC等)

从DTI计算参数图 通过3D Slicer软件计算 主要步骤 导入DICOM影像 3D Slicer似乎只能支持DICOM格式和NRRD格式的DTI处理,而无法支持NIFTI+磁场梯度信息文件的方式。(这里不确定,如有错误请指正。) 模块选择: 需要选择或设置的内容包括:选择DicomToNrrd,设置Output DWI Volume file,设置Input Dicom Data Directory。设置好后点击“Apply”。 制作mask。 实质就是去脑壳。 模块选择: 需要设置的内

weixin_38594676的博客 3920

告别外置天线!手把手教你用HFSS仿真设计一个20x40mm的433MHz PCB蛇形天线

本文详细介绍了如何使用HFSS仿真工具设计一个20x40mm的433MHz PCB蛇形天线,解决物联网设备小型化中的天线集成难题。通过对比外置天线与PCB天线的性能差异,深入解析蛇形天线的电磁学原理,并提供从建模到优化的全流程实战指南,帮助工程师实现高效、低成本的微型化天线设计。

weixin_30606461的博客 431

Android开发之Activity的生命周期详解

Android生命周期分为两部分:(1)典型情况下的生命周期。(2)异常情况下的生命周期。典型情况下的生命周期分析:典型情况下的生命周期指在有用户参与的情况下,Activity所经过的生命周期的改变,正常情况下,Activity的常用生命周期有以下几种情况: onCreate():Activity启动后第一个被调用的函数,常用来进行Activity的初始化,如创建View,绑定数据和恢复数据。 onStart():当Activity显示在屏幕上时,函数被调用。 onRestart():Activity

程序星空实验室 1万+

旋转矩阵推导

推导前提: 坐标使用右手坐标系,角度逆时针旋转为正。 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一、平面二维坐标点的旋转 如右图所示,根据三角函数关系,可以列出向量OP与OP’的坐标表示形式: x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |OP|•sin(α+β) 将P′(x′,y′)表达式展开: x′ =

suixinger_lmh的随笔 1384

Activity启动流程(七)初始化目标Activity并执行相关生命周期流程

    Activity启动流程源码实现(七)初始化目标Activity Android四大组件源码实现详解系列博客目录: Android应用进程创建流程大揭秘 Android四大组件之bindService源码实现详解 Android四大组件之Activity启动流程源码实现详解概要 Android四大组件之Activity启动流程源码实现详解(一) Android四大组件之Activity启动流程源码实现详解(二) Activity启动流程(三)- Activity Task调度算法复盘分析 Acti

IT先森 4388

22、云数据中心网络(DCN)部署最佳实践

本文详细介绍了云数据中心网络(DCN)部署的最佳实践,涵盖SDN设计、服务网络规划、管理网络规划等方面。通过合理的架构设计、路由规划和组件协同,提升数据中心的自动化水平、可靠性及安全性,以满足不断增长的业务需求。

d6e7f8的博客 186

SIMULINK开发项目实例 1000 例专栏之第912例--AC-DC整流器场景:基于PWM整流器拓扑结构的建模:三相电压型PWM整流器(SR)单位功率因数控制仿真

本文详细介绍了使用Simulink和Simscape Electrical搭建三相电压型PWM整流器(VSR)模型的方法。主要内容包括:系统结构设计、主电路拓扑搭建、单位功率因数控制算法实现(含PLL锁相环、dq变换、PI控制器等模块)、参数配置和仿真设置。通过仿真分析验证了该系统能实现输入电流与电压同相位、输出直流电压稳定等特性,体现了PWM整流器的高效性和低谐波优势。文章还提出了增强鲁棒性、多工况测试等优化建议,为电力电子系统设计提供了实用指导。该建模方法对新能源发电、电动汽车充电等领域具有重要意义。

xiaoheshang_123的博客 7797

Android:Activity——生命周期深入详解

一、生命周期全面分析Android活动默认运行在当前进程所拥有的栈中,前台可见的活动则在活动栈的最顶部。其他后台活动则在栈的里面,在正常的情况下(内存充足)其他的活动并没有被回收或者杀死,它们仍然存在于栈中保持着原来的状态。当前面的活动退出后,后面的活动就会搬到前台使得被用户可见。如果在非正常情况下(内存紧张、按下Home键后右启动其他应用)那么栈内的非前台Activity就可能被回收,但是当我们返

David-Kuper的专栏 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Activity的生命周期

Activity作为Android的四大组件之首,生命周期当然是重中之重了。 虽然都是老生常谈的面试题了。。。但是被面试官问到了,还是不会的话, 尴尬不是一点点啊。(⊙﹏⊙)b Activity—其实我更愿意喊它一声“界面”呗。我们在手机上看到的一个窗口,就是它啊。 它的生命周期也分为两种情况: 第一:正常情况下的生命周期 第二:非正常情况下的生命周期:比如屏幕翻转或者内存不足,被ki...

dandan的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Activity 生命周期回调方法详解

Activity是Android中最最重要的四大组件之一,其生命周期回调方法更是重中之重,只有完全理解完全掌握才能更优雅的使用Activity。这篇文章实例演示各种情景下的Activity生命周期回调方法,相信对你有所帮助O(∩_∩)O谢谢

灰太狼的博客 7139

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

activity生命周期详解

activity的生命周期可分为以下3种: (1)完整生命周期,始于onCreate终于onDestroy,所有的全局变量和控件初始化都应该在onCreate完成,在onDestroy应该释放所有的资源。 (2)可见生命周期,始于onStart终于onStop,在这个生命周期里,activity可能不能和用户进行交互,但却是可见的,这两个方法会被调用多次。 (3)前台生命周期,始于onResume终于onPause,此时activity位于屏幕的最上层并且可以和用户进行交互,这两个方法也会被频繁的调用。

HyHarden的博客 1721

Activity生命周期详解

横竖屏切换:A.onPause ->A.onSaveInstanceState->A.onStop -> A.onDestroy->A.onCreate -> A.onStart -> A.onRestoreInstanceState ->A.onResume。当用户点击A中按钮来到B时,假设B全部遮挡住了A,将依次执行A:onPause -> B:onCreate -> B:onStart -> B:onResume -> A:onStop。

2501_90363333的博客 1049

Activity的生命周期详解

原文出处链接:https://blog.youkuaiyun.com/qq_36270361/article/details/107141162 版权声明:本文为优快云博主「Steven Jon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/qq_36270361/article/details/107141162 本文纯属复习下Activity生命周期知识,望大家细看,如有侵权,请联系我删除。 Activity Ac

~~代码中的南城故事,南城故事里的中分女王。 2034

Android Activity 生命周期详解及监听

前言 当你编写第一个Android “Hello World” 时,已经不知不觉地与Activity生命周期打交道。这部分是是Android 最基础的知识之一,也是面试的常客,同时也是理解Jetpack 组件的基础。 网上关于此的文章数不胜数,但大部分只流于表象,没有系统性分析,看过之后容易忘却。本系列将会着重分析由此衍生的一系列知识点。 通过本篇文章,你将了解到: 1、什么是生命周期? 2、谁是生命周期的幕后黑手? 3、如何感知生命周期 1、什么是生命周期 这个名字并不是计算机独创的术语,任何有生命的

3612

Android Activity 生命周期详解

学习android开发这么久对于activity的生命周期还没有仔细思考过,所以,我大致的把这些东西整理一下,希望通过这使自己理解的更透彻点吧! 首先看一下Activity生命周期图和它的的四个阶段  它的的四个阶段 1. 开始Activity:在这个阶段依次执行3个生命周期方法:onCreate()、onStart()和onResume()。 2. Activity失去焦点

liuyiming_的专栏 8569

详解Activity生命周期

一、概述 方法简述 onCreate() //在系统首次创建 Activity 时触发 在 onCreate() 方法中,您需执行基本应用启动逻辑,该逻辑在 Activity 的整个生命周期中只应发生一次。 例如,onCreate() 的实现可能会将数据绑定到列表,将 Activity 与 ViewModel 相关联,并实例化某些类范围变量。此方法接收 savedInstanceSta...

qq_37687466的博客 1693

Android中Activity生命周期详解

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 本文中先给出一个简单程序,实现两个页面之间相互跳转,分别打印出它们生命周期过程中的状态变化,然后在后面详解Activity生命周期。 第一个Activity: package com.lovo.activit...

孤云博客 1439
上一篇: 实现打开Android系统相册、照相机并实现照相,录像功能。
下一篇: 利用DrawerLayout和触摸事件分发来实现抽屉侧滑业务
Allen-华
博客等级 码龄11年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值