Android组件 Activity的生命周期详解

Android四大组件:Activity详解(一)基础概念与生命周期 Activity是Android应用程序的核心组件之一,它提供了一个用户界面,让用户可以与应用程序进行交互。从用户体验的角度来看,Activity就像是应用程序的"窗口"或"页面"。一个Android应用通常由多个Activity组成,它们之间可以相互跳转,共同构成了应用的用户界面流程。Activity的生命周期是指从创建到销毁的整个过程,Android系统通过一系列回调方法来管理Activity的生命周期。了解这些生命周期方法对于开发高质量的Android应用至关重要。onCreate() 阅读详情

Activity类中定义了七种回调方法:

1.onCreate()
活动第一次被创建的时候调用。主要进行一些初始化的操作

2.onStart()
在活动从不可见到可以看见的时候调用

3.onResume()
在活动准备好与用户交互的时候调用,此时活动一定位于栈顶

4.onPause()
系统准备启用或者恢复另一个活动的时候调用,通常在这个方法中将消耗的CPU资源释放,保存数据

5.onStop()
在活动完全看不见的时候调用,而onPause(),在活动处于暂停状态也会调用,

6.onDestroy()
在活动被销毁前调用。调用这个方法后,活动变为销毁状态

7.onRestart()
在活动由停止状态,转换为运行状态时调用

在这里插入图片描述

Activity的生命周期启动情况:

1.启动与退出
正常启动:onCreate() --> onStart() --> onReusme()
正常退出:onPause() --> onStop() --> onDestory()
再次启动:onCreate() --> onStart() --> onResume()

2.点击主页
已经处于前台的 Activity,点击主页按钮离开当前 Activity:
OnPause() --> onStop()
回到 Activity:
onRestart() --> onStart() --> onResume()

3.熄灭屏幕,打开其他Activity
Activity不可操作:
onPause() --> onStop()
onStop() 期间应用被强行杀死了,再回到 Activity:
onCreate() --> onStart() --> onResume()

4.多个Activity切换时
当启动另一个 Activity 时,当前 Activity:
onPause() --> onStop()
当点击返回按钮,使另一个 Activity 退出时,当前Activity:
onRestart() --> onStart() --> onResume()

5.对话框存在时
普通对话框对生命周期没有任何影响。
但是如果有个 Activity 伪装成对话框模式,那么当它启动时,之前的Activity:onPause()
“对话框”消失后,回调 onResume() 再次回到前台

在这里插入图片描述

Activity的三种生存期:

完整生存期
Activity 在 onCreate() 方法和 onDestroy() 方法之间所经历的就是完整生存期。般情况下, 一个 Activity 会在 oncreat() 方法中完各种初始化操作,而在 onDestroy() 方法中完成释放内存的操作。

可见生存期
Activity 在 onStart() 方法 和 onStop() 方法之间所经历的就是可见生存期。在可见生存期内,Activity 对于用户总是可见的,即便有可能无法和用户进行交互。我们可以通过这两个方法合理地管理那些对用户可见的资源。比如在 onStart() 方法中对资源进行加载,而在 onStop() 方法中对资源进行释放,从而保证处于停止状态的 Activity 不会占用过多内存。

前台生存期
Activity在 onResume() 方法和 onPause() 方法之间所经历的就是前台生存期。在前台生存期内,Activity 总是处于运行状态,此时的 Activity 是可以和用户进行交互的,我们平时看到和接触最多的就是这个状态下的 Activity。

大佬的Activity总结:
https://blog.youkuaiyun.com/liuhe688/article/details/6733407

    //创建
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.e("TAG","onCreate----创建");
    }

    //启动
    @Override
    protected void onStart() {
        super.onStart();
        Log.e("TAG","onStart----启动");
    }

    //恢复
    @Override
    protected void onResume() {
        super.onResume();
        Log.e("TAG","onResume----恢复");
    }

    //暂停
    @Override
    protected void onPause() {
        super.onPause();
        Log.e("TAG","onPause----暂停");
    }

    //停止
    @Override
    protected void onStop() {
        super.onStop();
        Log.e("TAG","onStop----停止");
    }

    //销毁
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("TAG","onDestroy----销毁");
    }

    //重启
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e("TAG","onRestart----重启");
    }
《联邦学习实战》杨强 读书笔记十四——构建公平的大数据交易市场 当数据具有资产属性之后,数据便可以直接或者间接地为公司、为社会创造价值和收益,并且可以作为一种特殊的商品在市场中进行交易。 与传统的商品交易相比,数据资产交易的市场前景更广阔,但同时也面临着很多的挑战,主要包括: 数据的质量、价格如何定义 在合法合规的前提下,数据的交易如何确保不会泄露用户的隐私 如何构建合理的激励机制来鼓励更多的参与方加入数据交易市场中 大数据交易 数据交易的定义 数据交易是指一种对数据进行买卖的行为,大数据交易由三方共同参与,分别为数据提供方、大数据交易平台和数据需求方: 阅读详情

相关推荐

给麒麟KylinOS服务器加把锁:手把手配置符合等保要求的密码强度策略

本文详细介绍了如何在麒麟KylinOS服务器上配置符合等保要求的密码强度策略,包括pwquality.conf和login.defs的核心参数设置、等保合规的进阶配置技巧以及企业环境中的平衡艺术。通过实战案例和测试方法,帮助管理员构建坚固的密码防线,确保系统安全。

weixin_33749242的博客 419

android生命周期(详细总结)

1、android生命周期图   2、activity三种状态 (1)active:当Activity运行在屏幕前台(处于当前任务活动栈的最上面),此时它获取了焦点能响应用户的操作,属于活动状态,同一个时刻只会有一个Activity 处于活动(Active)。 (2)paused:当Activity失去焦点但仍对用户可见(如在它之上有另一个透明的Activity或Toast、AlertD

now_android 3万+

HR离职预测模型实战:可解释、可干预、可落地的三层架构

员工离职预测本质上是组织健康度的早期诊断技术,其核心原理在于从行为、心理与结构数据中识别稳定性衰减信号。该技术的价值不仅在于提升预测准确率,更在于将模糊的‘人才风险’转化为可归因、可干预的具体因子,如工龄阶段、满意度落差、薪酬分位数等。典型应用场景覆盖HRBP主动留任、业务部门梯队预警及HRIS系统智能升级。本文聚焦于构建具备业务可解释性与操作闭环能力的离职预警模型,深度融合HR工作流与机器学习工程实践,尤其强调逻辑回归基线、特征业务化重构及三层递进式架构设计。

赵士杰的博客 387

Android生命周期详解

最近在看任玉刚老师的开发艺术探索,记录一下。 Android生命周期分为两部分: 一、典型情况下的生命周期。 二、异常情况下的生命周期。 一、典型情况下的生命周期 典型情况下的生命周期指在有用户参与的情况下,Activity所经过的生命周期的改变,正常情况下,Activity的常用生命周期就只有下面七个。 /*1.onCreate: 每个Activity在写代码的过程中都会看见这个函数, 是声明周期的第一个方法。 一般做一些资源和数据初始化的工作, 比如绑定相对应的资源布局s

梦芯洛尘 1万+

基于深度学习的道路裂缝检测识别研究(开题报告)

具体而言,将本研究提出的模型与其他先进的道路裂缝检测算法在相同的数据集上进行对比实验,通过对比实验结果,分析不同算法在准确率、召回率、F1值等指标上的优劣,以及在实际应用中的表现。通过对综述论文的学习了解,对计算机视觉、多模态相关领域的基础进行简要介绍,并在跨模态行人重识别研究领域归纳国内外研究现状和发展趋势,明确当前面临的问题和挑战,并针对当前存在的问题展开后续研究。第二,研究解决该问题的途径和方法。基于深度学习的道路裂缝检测识别研究,旨在通过构建和优化深度学习模型,实现对道路裂缝的自动识别和定位。

毕业作品网站 3830

Unity 机械臂控制(二)——从碰撞检测到姿态解算:实现精准抓取

本文详细介绍了Unity中机械臂控制的实现方法,从碰撞检测到姿态解算,涵盖精准抓取的全流程。重点讲解了碰撞检测的分层处理、状态机设计、逆向运动学(IK)算法以及抓取稳定性优化等关键技术,并提供了实用的调试技巧和性能优化建议,帮助开发者实现高效的机械臂控制。

weixin_28693447的博客 305

Android 生命周期

Android生命周期相关知识

weixin_52610823的博客 3170

代码复现5——VLMaps

报错“AttributeError: module 'clip' has no attribute 'load'”,运行下述命令解决。运行后接着报错:“ModuleNotFoundError: No module named 'pytorch_lightning'”运行后命令后会弹出一个RGB窗口,可以用键盘上的“W”“A”“D”键控制移动视角的变化,“空格”键开始记录,“q”键停止。并更改相关代码文件,vlmaps/vlmaps/lseg/modules/models/lseg_vit.py。

qq_44100524的博客 603

android-基础知识-生命周期

android-基础知识-生命周期 概述 主要涉及的生命周期有 Activity Fragment Service Application View 一、Activity生命周期 包括 onCreate onStart onResume onPause onStop onDestroy 共计 6个 其中还涉及到 onRestart onSaveInstanceState onRestoreI...

dl7941786的专栏 2849

ArcGIS Pro 3.4 二次开发 - 布局

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作布局工程项的相关方法。主要内容包括:引用布局工程项和关联布局,在新视图中打开或激活已有布局视图,引用活动布局视图,导入/移除布局工程项,创建基本布局或带参考线的自定义布局,修改布局页面尺寸,以及创建圆形图形元素等操作。重点演示了如何通过CIM(Core Infrastructure Model)进行高级布局配置,并详细说明了圆形图形元素的创建过程,包括几何构建、符号设置和图形生成。所有涉及UI线程的操作都遵循ArcGIS Pro SDK

Winemonk 795

python乘法运算 信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

本文解析了全国青少年信息素养大赛Python编程挑战赛的乘法运算题目。题目要求通过递归算法实现两个自然数的乘法运算,并输出算式。算法分析指出可将乘法转化为累加,使用递归函数实现。程序代码展示了一个自定义函数add(),通过递归调用完成累加运算。文章还分析了考点,包括递归函数、输入处理、分支语句等编程基础知识的应用。最后强调解题方法的多样性,重点在于理解递归原理和实现题目要求。该题目难度适中,主要考查选手对递归算法的理解和编程基础能力。

青少年编程学习指导 789

Android的生命周期

activity七个方法 onCreate():当Activity第一次被实例化的时候系统会调用,整个生命周期只调用1次这个方法。通常用于初始化设置,为Activity设置所要使用的布局文件,为按钮绑定监听器等静态的设置操作。 onStart():当Activity可见未获得用户焦点不能交互时系统会调用。 onRestart():当Activity已经停止然后重新被启动时系统会调用。 onResume():当Activity可见且获得用户焦点能交互时系统会调用。 onPause():用来存储持久数据。到这一

weixin_44911775的博客 1546

【数据集】1970-2023年全球温室气体排放 GHG 数据集 EDGAR

1970-2023年全球温室气体排放 GHG 数据集 EDGAR

WW、forever的博客 1173

Android的四大组件之Activity生命周期详解

一、Two是普通的Activity,能够完全挡住One 1.当One初始化的时候 onCreate(One) --> onStart(One) --> onResume(One)   2.当从One 跳到  Two的时候 onPause(One) --> onCreate(Two) --> onStart(Two) --> onResume(Two) --> onStop

smach1991710的专栏 1223

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

深入剖析Android四大组件(一)——Activity生命周期详解

虽然如此,但即使你没有实现onSaveInstanceState()方法,也还是有一些Activity的状态通过Activity类默认实现的onSaveInstanceState()方法恢复。特别是,默认实现会为布局中的每一个视图调用onSaveInstanceState(),允许每一个视图提供它们自己要保存的信息。几乎每一个Android框架中的部件都会适当地实现这个方法。这样一来,当Activity被重新创建的时候,任何一个对于UI可见的变化都被自动保存和恢复。例如,EditText空间保存用户输入的所

李元静 5778

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android四大组件之——Activity的生命周期(图文详解)

转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Android四大组件学习系列Activity篇] 1.Android四大组件之——Activity(一)定义、状态和后退栈(图文详解) 2.Android四大组件...

didingyun4257的博客 224

蓝牙模块HM-10手册

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

Android组件:Intent与Activity生命周期实例详解

Intent用来连接组件,由组件名称、Action、Data、Category、Extra和Flag组成,而IntenFilter顾名思义就是Intent过滤器。 Intent有两种形式:显式和隐式。显式即指定了具体的的组件类,而隐式则是通过解析Mannifest.xml文件的intent-filter来使意图传递给Activity等,是对Action、Type和Category三个属性来进行过

leelit笔记本 787

Android四大组件详解之Activity生命周期(初级)

Activity的生命周期: Activity:是什么? 通俗说就是一个人与软件的交互页面 oncreat:创建Activity onstart:运行Activity onresume:获取焦点,也就是可以点击页面上的控件 onpause:失去焦点,Activity上面的控件不可点击 onstop:停止运行Activity onrestart:重新运行Activity 项目名称:Activit...

不会游泳的程序猿 475

Android四大组件之Activity的生命周期详解

Android生命周期详解     Activities在系统中管理着一个Activity栈,当有一个新的Activity启动的时候,新的Activity会在栈顶并且变成一个正在运行状态的Activity,之前的Activity一直会存在栈中,当新的Activity一直存在时,之前的Activity不会再一次出现在前台。 Activity有四种重要的状态 1、如果一个Activity在前

qwli7 597

Android四大组件——Activity生命周期详解

  这是我在博客园上的第一篇博客,正好关于Android的文章也从开始来记录!   我们首先来看看Android的四大组件之一的Activity吧! Android Activity是十分重要的,因为android的应用的生命周期是由android 系统决定的!Android Activity生命周期中可认为分为7个阶段; 用7个函数原型来描述吧protected void onCrea...

weixin_30600503的博客 64

Android四大组件之---activity生命周期详解

废话不多说, 先来一张Google提供的一张经典的生命周期流程图:     有的朋友可能看英文的有点费劲,再提供一张中文版的  O(∩_∩)O     相信已经很多人对这张图再熟悉不过了,下面笔者按照自己的理解并结合写的demo解释一下activity的生命周期, 有不足之处还望同行指正. Activity的生命周期主要有以下六种 onCreate():  当

动感超人 592
上一篇: Java 强引用和弱引用及Handler内存泄漏问题
下一篇: Android组件 Activity隐藏标题栏和标题栏
3Blue1Red
博客等级 码龄7年 7粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值