Android studio教程:[5]活动的生命周期
想要学好安卓开发,就必须理解安卓软件的生命周期,明白一个活动的创建、启动、停止、暂停、重启和销毁的过程,知道各个阶段会调用什么函数进行处理不同的情况,这里我就通过一个简单的例子让大家明白一个活动的生命周期。

工具/原料
- Android studio
- 一部安卓手机或者安卓模拟器
Android studio如何重写函数
- 1
在Android studio中,如果需要重新某个函数,可以在菜单栏中的“code”下选择第一项“override methods”,或者按Ctrl+O打开。
- 2
在弹出的列表中找到需要重写的函数,以onStart()为例,不要看到没有搜索口就头疼了,直接在当前列表输入所需的函数即可。
- 3
然后就可以看到已经生成的重新函数了,每个重写函数前面都有一个@override的标志。在生成的代码中添加一句:
Log.d(tag, "In the onStart() event");
这样一来,一个活动的启动重写函数就完成了,其他函数都可以通过相同方式重写。
- 4
在创建好的项目的DemoActivity.java中,在类中添加:
String tag = "lifestyle";
在自动生成的onCreate中添加代码:
Log.d(tag,"In the onCreate() event");
- 5
按上述重写函数的方式分别重写:
onStart、onResume、onRestart、onPause、onStop、onDestroy。
在每个重写函数中分别加上:
Log.d(tag,"In the onStart() event");
Log.d(tag,"In the onResume() event");
Log.d(tag,"In the onRestart() event");
Log.d(tag,"In the onPause() event");
Log.d(tag,"In the onStop() event");
Log.d(tag,"In the onDestroy() event");
END
活动的生命周期
连接安卓手机进行仿真测试,shift+F10生成apk并在手机上自动安装。
刚启动时,活动需要经过创建、启动、继续三个阶段,对应着onCreate、onStart、onResume三个函数。onResume可以继续、重新开始、恢复三重含义。
在logcat窗口可以查看当前活动所处的状态。
当有别的活动在当前活动前显示,或者自动锁屏时,当前活动会暂停,调用onPause函数,重新回到当前活动时,会调用onResume函数。
当退回手机主页时,当前活动会从onResume状态通过onPause再到onStop,表示当前活动不可见,被停止。
但重新打开时,活动又由停止状态通过onReStart,onStart再重新回到onResume状态。
如果按下返回键退出程序,活动就会由onResume状态经过onPause、onStop最后调用onDestroy销毁活动。
本经验第一张图片给大家展示了一个活动的生命周期如何切换,又通过例子说明了不同状态下活动如何处理,相信大家对活动的生命周期有了相当的了解。这样就可以把握好程序编写的要领,在合适的函数中处理合适的事情,会让你的app更加完美。
Android studio教程:[5]活动的生命周期的更多相关文章
- 【Android】8.0活动的生命周期(一)——理论知识、活动的启动方式
1.0 Android是使用任务(Task)来管理活动的,活动就像栈一样堆放着在一起. 每个活动的生命周期最多可能会有四种状态: 1.1 运行状态 位于栈顶 1.2 暂停状态 不在栈顶但在界面上仍处于 ...
- Android基础知识05—活动的生命周期
------ 活动的生命周期 ------ Android是使用任务Task来管理活动的,一个任务就是一组存放在栈里的活动的集合.每当启动一个活动 ,他就会在返回栈中入栈,并处于栈顶位置.而每当我们按 ...
- 【Android】9.0活动的生命周期(二)——实际代码演示
1.0 新建一个项目ActivityLifeCycleTest. 新建两个活动NormalActivity和DialogActivity,勾选“Generate Layout File”. 文件目录 ...
- Xamarin.Android活动的生命周期
一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的, ...
- Android笔记——活动的生命周期
一.活动的重要性 掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的游刃有余.你的应 ...
- Android学习笔记(五)——活动的生命周期
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 为了能写出流畅连贯的程序,我们需要了解一下活动的生命周期. 一.返回栈 Android 中的活动是可以层叠的. ...
- Android活动的生命周期
掌握活动的生命周期对任何Android开发者来说都非常重要,当你深入理解活动的生命周期之后,就可以写出更加连贯流畅的程序. -------------------------------------- ...
- android 活动的生命周期
掌握活动的生命周期非常重要,因为一个正常的android应用,会有很多的活动,如何在这些活动之间进行切换.数据的交互等,就经常会用到活动的生命周期这一块的知识.可以说,只要掌握了活动的生命周期,才能更 ...
- android:activity活动的生命周期
掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有 ...
随机推荐
- CLR via C# - CLR模型
博客园对markdown支持不佳,错乱移步Github IO 博文 CLR 的执行模型 模块/程序集 1.模块 托管模块组成部分 PE32/PE32+头 : PE即Portable Executabl ...
- Transform 1
Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...
- Ubuntu自定义命令
回到主文件夹 $ cd ~ 建立.bash_aliases $ touch .bash_aliases $ vim .bash_aliases 在此文件中加入一句话: alias cdlauncher ...
- sqlserver2008 中使用MSXML2.ServerXMLHttp拼装soap调用webservice
要调用的接口方法:UP_ACC_inst_Info(string xml) 接口参数:xml格式的字符串 接口功能:传递人员编号.备注到接口进行更新,接口返回更新结果. 实例: declare @st ...
- Web 上一页下一页 用超链接 用按钮
方法一超链接 Default.aspx.cs html代码************************************************************* ...
- java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException
?缺少jsr173_1.0_api.jar 包 或者jdk版本不对(包括工程和tomcat等服务器的jdk版本) 以前的一个xfire工程,今天重新导进后不能运行,修改工程的jdk版本不行,最后发现是 ...
- hdu1754 基础线段树
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据
Create Or Replace Trigger trg_view_report Instead Of Insert or update or delete on view_for_report ...
- docker镜像与容器存储结构分析
注意:转载请注明出处:http://www.programfish.com/blog/?p=9 Docker是一个开源的应用容器引擎,主要利用linux内核namespace实现沙盒隔离,用cgrou ...
- oc语言--description方法和sel
一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时, ...