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 开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有 ...
随机推荐
- ios开发 block语句块
ios开发 block语句块 1.block 理解为匿名函数 2.block变量的定义 //定义block变量,^表示定义block //技巧:函数名左右加括号,在函数名前面在加^ void (^bl ...
- 在Lambda表达式中使用循环变量
在C#5.0之前,如果在foreach循环中的lambda表达式里使用循环变量,那么你会发现一些意想不到的现象,例子如下: , , , }; var actions = new List<Act ...
- 写一个Windows上的守护进程(3)句柄的管理
写一个Windows上的守护进程(3)句柄的管理 在Windows中编程,跟HANDLE打交道是家常便饭.为了防止忘记CloseHandle,我都是使用do-while-false手法: void f ...
- (转) Eclipse - Python - Installation of PyDev with a Python Hello World tutorial
Once you finished your installation of Python on your Windows OS, GNU/Linux or Mac OS, let me tell ...
- HTML5学习笔记一:新增主体结构元素
Dreamweaver快捷键: 属性面板:Ctrl+F3 新建文档:Ctrl+N 选择用网页查看:F12 新增的主体结构元素: section元素(例子如下): <!DOCTYPE HTML&g ...
- dedecms 财付通接口
用织梦做了个旅游网站,网址:http://www.redtourism.cn/ 客户要求财付通支付,上网找了下 不是要买就是要钱,只有自己写了. 代码: <?phpif(!defined('DE ...
- python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...
- poj 3164 Command Network
http://poj.org/problem?id=3164 第一次做最小树形图,看着别人的博客写,还没弄懂具体的什么意思. #include <cstdio> #include < ...
- NFC应用(一)卡应用
门禁卡.停车卡.公交卡工作于NFC的卡模式,是目前日常生活中接触得最多的NFC应用场合.一张小小的卡片,轻触读卡器使可开门禁锁.进出停车场.支付车资,即快捷方便,又安全,易于管理. 以门禁系统为例,通 ...
- C# 内存泄露
一.事件引起的内存泄露 1.不手动注销事件也不发生内存泄露的情况 我们经常会写EventHandler += AFunction; 如果没有手动注销这个Event handler类似:EventHan ...