初学者都应该看的 --- Activity的生命周期

【Android】软件安装与Activity生命周期&界面开发 目录 一、实验目的 二、实验任务 三、实验内容与要求 四、实验过程 五、实验总结 一、实验目的 1.熟悉Android开发环境; 2.熟练使用Android Studio开发工具; 3.掌握Activity的生命周期以及开发步骤; 4.掌握Android项目的调试。 二、实验任务 1. 安装Android Studio; 2. 开发一个Activity界面,重写生命周期函数; 3. 在模拟器中和真机分别运行调试。 三、实验内容与要求 3.1 安装Android S... 阅读详情
本文章只是为了记录以前自学时,所遇到的问题和不懂的地方,让android自学者能清楚的了解activity的生命周期,看看我们自学那会遇到的,是不是一个问题

  • 什么是Activity

    Activity 大部分人都叫活动,可我个人觉得,Activity其实就是一个容器的,里面装载着各种各样的view视图,并且对各种视图进行事件处理,信息的控制等

  • 什么是activity的生命周期

    首先明白一点,生命周期强调的是周期,说白了,就是它的出现到消灭,那什么要有它的生命周期呢,为什么不直接创建,再null,不就完成整个生命周期了吗?但是别忘记了,activity是androd手机系统的4大组件之首,
    一,我们的app是为了用户使用,你直接new,再null,还有什么意义呢,
    二,activity是4大组件之首,是直接与用户交互的,它直接销毁了,那还谈什么交互,我们肯定要有一个完整的生命周期,让我们合理的使用activity, 充分利用它的生命周期,让它在每个生命阶段完成它该要做的事。

  • 大家来看一张图,我自学android那会最讨厌看到的,因为我看不懂,但是请大家一定要用心看,真的很有用, 而且必须要看,不然会吃亏,别问我怎么知道的

这里写图片描述

让我来带着大家,看这个图,也许跟着我看,会有不一样的视角和新的认识


activity正常情况下

从activity正常的活动周期来看,什么意思呢,就是它一生,没有遇到坑,从出生到死亡,活得都很好,那怎样看呢,直接看图中间的方法关键字
Activity Launched –> onCreate() – > onStart() –> onResume –> onPurase() –> onStop() –> onDestory() –> Activity shut down

我们先看这几个方法,其它先不用看,我们先看的是activity正常生命周期的时候


Activity Launched : 这个的是意思是activity启动,记住,只是启动,它还没有任务生命周期的特征

onCreate() : 我们的第一个生命周期,这个是说,我们的activity创建时被调用 ,但是并不是说这个方法创建了activity,记住,也只是创建时这个方法被调用而已,现在什么在界面上也看不到,那它的作用是什么呢,什么也看不到,当然是做准备工作了,比如创建视图对象,这个知道为什么setcontentview在这里写了吧,就是做准备工作的,其它不是它该做的事,同样还有加载数据等等所有的操作都在这里执行。

onStart(): 这个方法是我们的activity进入可见状态,但是,这个时候还不能交互,也就是说在这个状态下,你在界面上做什么,都没有反应,那这个方法,我们有什么用呢,我们可以做一些初始化,

     那就有人问了,刚刚说oncreate方法就是初始化的啊,怎么在这也可以初始化,感谢你有这种想法,我以前学习生命周期的时候,也是,怎样也不懂,一会这样,一会那样,但是,就是可以,没有为什么,大家学了那么久,没有感觉到大部分问题的答案都是没有为什么,本来就是那样的,好吧,继续,是可以初始化的,但是呢,是非严格必须的东西,比如可以在这里注册广播接收者等。

onResume(): 这个方法,是所有activity的生命周期的最终期待,因为它这个时候,已经可以进行交互了,在这里能看到最终的布局效果,这是大家都期待的,大家可以测试一下,一个界面的显示,是从oncreate -> onstart -> onResume 一下走了三个方法,才可以进行交互的时候

onPause() : 这个方法是不好了,因为这个方法,表示当前activity不能交互了,就是说不能响应用户操作了,但是,这个时候,activity还是可以看到的,在这里,可以暂停动画等界面效果,

   有人就说了,不能交互但是可以看到,是什么东西,其实就是有其它窗口遮盖了acitivity,比如一个对话框出现 ,后面的activity是可以看到的,但是不能交互

onStop():这个方法表示activity已经不可以看到了,什么不可见了,在这里,我们应该保存数据,停止一些消耗资源的事件,防止在不可见状态下被回收

onDestroy(): 这个方法就一切完了,这个方法将销毁所有视图,在这里应该释放一切占用的资源,比如 停止播放,网络请求等所有操作,只是销毁视图,不是销毁 activity 对象,

以上,就是一个activity正常情况下,所经历的生命周期,就像一个人一样,从出生(onCreate),童年(onStart)青年(onReume),中年(onPaused),老年(onStop),死亡(onDestory), 但是,这样只是acticity所经历的生命周期时的方法,不是说oncreate就是activity被创建了,onDestory时,activity就被销毁了,只能说oncreate方法,就在actictity已经被系统创建后,调用了oncreate方法而已,而activity消失是gc的事,和onDestory更没有关系,请记住!

下面,我们继续讨论activity不正常的时候, 它经历了哪些方法,大家现在再看一下图,我们刚刚已经分析了中间的那几个方法,还剩下两个的方法

activity不正常情况下:

什么叫不正常情况下,就是说,一个人好好的走路呢,属于正常走路的情况,突然有事找他,或者这家伙打的走了,都不属于正常的走路情况

activity正常情况一:

有多个activity出现的时候,我们刚刚已经知道,我们的activityA是在onResume方法进行与用户交互的,这个时候用户不想和我们的activityA进行交互了,想与activityB进行交互,怎样办啊,没办法,用户是上帝,那我只好让activityB喽,那我该怎样让呢,别忘记了,我们现在还和用户交互呢,只不过我们在0.01秒后,不和用户交互,那我就先让自己停下onpaused , 现在这个时候,我还是可以看到的,所以 onstop方法没有被调用,有人说了,activityB都出现了啊,是,你说的是,但是你说了,是activityB都出现了,activityA不应该出现的啊,对了,看activityB出现的时候,activityA才不可见!这个时候才调用activityA, onstop方法,很多人在这里不清楚,觉得是B出现之前, A的onstop方法已经被调用,其实不是, 是B出现了,A才调用onstop方法的, 当B不见时,这个时候activtyA调用onrestart方法 -》 onstart 方法 - 》 onresume方法,等等,这样就和图中一致了吧

activity正常情况二:

activity也有不老实的时候,这个时候,系统就直接kill,强制gc它,这个可能性很小

现在再看这个图的时候,是不是清楚多了,从activity正常情况下,是走中间的几个方法,两个不正常的情况走两边 ,但是: 真正工作中,99%只是用两个生命周期方法 oncreate ondestory, 哈哈

xamarin Android activity生命周期详解 两分钟彻底让你明白Xamarin Android Activity生命周期,详解Xamarin android activity忘都忘不掉 阅读详情

相关推荐

FANUC机器人PROFINET通讯方式组态

6 然后对模块进行命名及更改IP地址,点击“Network Detection”,进行扫描,会生成下图,双击商科模块会生成下边的对话框,对模块进行命名及更改IP地址,在“Permanent Name”处点对勾,完成后点击“Apply Name及Apply”进行命名。此处注意,上图左上在线在不了,网络扫描处上面也灰色的,扫描不了。5双击abcc-prt-2-port RT(FW1.13),生成下面图标,在右边点击1、2把原来内容删掉,从新在左侧加载 ,使1、2是输出,3、4为输入,完成后点击OK。

dxs93的博客 8429

Android 初学者第一步 Activity生命周期

对于初学者学习Android开发(原生Android Studio开发)首先您需要有良好的JAVA基础 拥有了良好的java基础后的第一步就需要了解Activity的生命周期函数 1.什么是Activity Android 活动(Activity) 活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。Android 的活动是 ContextThemeWrapper 类的子类。 如果你曾经用 C,C++ 或者 Java 语言编程,你应该知道这些程序从 main() 函数开始。很类似的,Andro

qq_38999743的博客 269

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序

为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。

weixin_55035144的博客 2144

歪解Activity生命周期-----初学者彻底理解指南

Activity是个神马玩意儿,和Android有神马关系,为什么毛要用这个,这个怎么用。本篇讲针对Activity做出详细描述,希望大家在看完这篇文章后,对Activity有个大概的了解。     1.啥是Activity?     初学者可以这样理解,Activity相当与一个android应用的界面(其实这样的说法不准确,但很好理解对吧),用户往往是直接操作应用的界面的,

你缺少想象力的博客 845

C++实现SM4国密算法实战指南

通过以上实现,开发者可以快速在C++项目中集成SM4国密算法,满足金融、政务等领域的安全需求。实际部署时建议通过国家密码管理局的合规性检测,并定期更新密钥管理策略。库(支持国密算法),需提前安装并配置开发环境。

skyksksksksks的博客 1487

金智维KRPA实战:Excel自动化数据处理全流程解析

本文详细解析了金智维KRPA在Excel自动化数据处理中的全流程应用,涵盖COM接口和文件读写两种核心技术方案,以及销售报表生成、数据清洗和可视化仪表盘等实战案例。通过企业级应用的异常处理、性能优化和安全合规实践,显著提升数据处理效率和准确性,助力企业降本增效。

weixin_30329623的博客 598

Activity的启动模式和生命周期 android初学者必看;

相信大家在学习的过程中都考虑Activity生命周期, 如果一味的任由activity默认启动模式的话, 那么在activity来回跳转的时候,就会开启好多个activity, 这样在无形中浪费了好多内存, 所以,这时候就给activity设置了启动模式。 设置时候只需要在AndroidManifest.xml里对应的标签里设置 android:

biubiuyun的博客 569

淘宝滑块验证码破解:Python模拟鼠标轨迹过关详解

本文全面解析了淘宝滑块验证码的破解流程,从机制分析、图像处理、轨迹模拟到自动化实现,提供了完整的Python解决方案。随着2026年风控技术的升级,单纯依靠轨迹模拟已经难以达到高通过率,未来趋势是结合强化学习生成更自然的轨迹,并利用深度神经网络进行端到端的验证码绕过。此外,各大平台正逐步推广"无感验证"和"行为式验证码",将验证融入到用户正常操作中,这对爬虫技术提出了更高的挑战。技术本身是中立的,关键在于使用者的目的。希望本文能帮助开发者更好地理解验证码对抗技术,从而设计出更安全的防御系统。

2201_76125261的博客 96

Android之Activity生命周期详细介绍,新手必必必看

Android之Activity生命周期史无前例的详细介绍,新手必必必看 Android的Activity生命周期是一个非常重要的知识点,但是由于Activity的状态众多,而且状态直接的切换类型也十分的众多,导致Activity的方法很多,这就给新手学习并理解Activity造成了一定的难度,如果你能认真读完我这一篇博文,那么我相信你一定能对Activity的理解达到一个崭新的高度,ok...

java开发指南博客 【转载】 111

RK3588+YT9215快速拓展以太网口

YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。

带着耳朵取流浪的博客 2793

Copilot在游戏开发中的应用:Unity脚本自动生成实践

2021年GitHub Copilot的发布,为代码自动生成带来了革命性突破。作为基于GPT模型训练的AI辅助编程工具,Copilot能根据注释、函数名、代码上下文,实时生成符合语法和逻辑的代码片段,甚至完整脚本。减少重复劳动:自动生成模板代码(如生命周期、结构),让你专注核心逻辑;降低API学习成本:对Unity特有的组件(RigidbodyAnimator)、类(),Copilot能生成符合最佳实践的调用代码;统一代码风格:通过团队共享提示词模板,让生成的代码符合项目规范;快速原型迭代。

AIGC应用创新大全的博客 1618

大家看一下,我对Android的Activity的深入理解

大家好,很开心,在这里应版主的邀请,写一份PDF文档关于Activity生命周期.在这里谢谢EOE版主了,另外我加努力把这个文档写好,如果有写得不好地方,请大家见谅!毕竟我是第一次写文档给大家看,如果大家有任何的问题,请在这里留言。 简介 : 本PDF主要是介绍Activity生命周期,目的是为了更的多的android朋友初学者或者不太深入理解的朋友更加地深入andr...

weixin_34162401的博客 77

分立器件---电感介绍(7000字)

电感基础整理

HW-BASE的博客 2350

对Android Activity生命周期的一些学习

刚开始学习,后面还会继续补充,生命周期其实时安卓很复杂的一部分,大家看到有什么不对的地方希望评论区指出 先来一张Activity的生命周期图,一共7个阶段 onCreate() 所有的Activity必须要实现这个回调,并且必须要在onCreate()中使用setContentView()方法定义Activity的用户界面,onCreate()执行结束下一步一定是onStart() o...

康康 158

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android中Activity的生命周期

大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助,但是还不能完全吃透,所以我今天特意在重新总结一下.   首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):

非淡泊无以明志,非宁静无以致远 596

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Activity的生命周期

1、什么是Activity? Android四大基本组件: Activity(手机屏幕) BroadcastReceiver(广播接受者) Services服务   ContentProvider(内容提供者) 2、Activity的生命周期方法 3、Activity的三种生命周期 4、调用生命周期方法: 按home键 和打开另外一个窗口,再按返回键

JHandYY的博客 315

Statistics and Machine Learning Toolbox

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

二、Android学习第二天——初识Activity(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一、Android学习第二天——初识Activity 昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识。 以下两点是需要注意的:(个人总结) 凡是覆写得方...

angen3675的博客 193

android学习1#--activity生命周期和onCreat方法

开始学习android,决定记录下自己的学习过程,希望能帮组一些人。没有华丽的词藻,但是尽可能的把学习逻辑讲清楚。 环境:Ubuntu+studio google android团队在2012年针对开发者搞了一套Training for Android developers:https://developer.android.com/training/index.html;国内的大牛把

遇见未来 1780

Android学习之Activity

Activity简单认识 1 Activity是什么? Activity,中文意思是活动,它是Android应用程序的重要组成单元之一,提供了和用户交互的可视化界面。但是Activity本身是没有界面的,本质上它只是一个接口,给用户提供一个交互式的接口功能,我们必须向Activity中添加组件,由我们添加的组件来实现具体的功能。在开发时,通过setContentView(View)来把UI

jn_aswq的专栏 973

安卓学习笔记之Activity的定义和生命周期篇

大部分安卓开发的教学资料或者视频,刚开始一般都是介绍安卓系统和开发环境的配置之后,就从Activity开始真正进入技术层面的教授。什么是Activity呢?Activity简单来说就是安卓app的界面,因为直观,适合初学者作为切入点学习。在安卓官方的开发文档中对Activity的定义如下:         An activity is a single, focused thing th

易水南风的专栏 981

【Android】Android之Activity的生命周期

本文介绍Activity的生命周期,并且用LogCat记录下生命周期的过程

feilusia的博客 1129

第四章活动Activity-4.2 Activity的生命周期

Android Studio

w_g_y123456的博客 225

03 Activity知识点

03 Activity知识点 文章目录03 Activity知识点如何创建一个新的Activity?如何切换Activity?如何传递数据?可以传递哪些数据?可以传递对象吗?如何回传数据?Activity的生命周期编程习惯 如何创建一个新的Activity? 创建一个继承自 Activity 的类. import android.app.Activity; public class Secon...

Blog 457

Android_四大组件之Activity

Android_四大组件之Activity 学习Android一直以来都是看书、敲代码,看书、敲代码这样的重复,等我把书上的所有代码依葫芦画瓢的打一遍下来,根本就没有太多的收获。学而不思则罔,如果停下脚步去理解,等合上书的那一刻,你还是你,知识还是知识。 每一本基础的Android教程,打开都会告诉我们Android有四大组件,然后立马讲的就是看得见摸得着的Activity了,在进Activi

Hiweigg的博客 462

Android生命周期(Activity),简单易懂

在学习Android时,总会遇到一些和生命周期有关的问题,对新手来说,生命周期也算是一个比较抽象的问题,特此写出一篇文章,助于理解Android的创建与人类密不可分,因此Android有许多方面和人类相似,如果能把Android看作一个完全的人类,我觉得这样可以更好的理解Android。

chen2023_11_14的博客 1118

ListView复用导致图片错乱及闪烁问题

关于ViewHolder复用,我就不说明了,关键是复用导致出现的问题网络的好坏,我们请求的图片并不是很稳定,那么我们假设一屏可以显示6条数据,利用复用,我们的第7条数据view就是我们的第1条数据view,随之手势不断的滑动,复用的问题,就出现,特别是上网请求网络图片, 我们在显示第7条数据时,图片还是第1个数据图片,因为第7条很可以没有加载完成,导致view复用,图片错乱,那么如何解决呢 给每个

android_lyp的博客 4007
上一篇: RelativeLayout 详解 之58同城
下一篇: Intent 常用调用系统action
android_lyp
博客等级 码龄11年 14粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值