Activity生命周期

一、Activity声明周期
1、了解Activity声明周期
当用户浏览、退出和返回到您的应用时,您应用中的 Activity 实例会在其生命周期的不同状态间转换。Activity 类会提供许多回调,这些回调会让 Activity 知晓某个状态已经更改:系统正在创建、停止或恢复某个 Activity,或者正在销毁该 Activity 所在的进程。
在生命周期回调方法中,您可以声明用户离开和再次进入 Activity 时 Activity 的行为方式。例如,如果您正构建流媒体视频播放器,当用户切换至另一应用时,您可能要暂停视频或终止网络连接。当用户返回时,您可以重新连接网络并允许用户从同一位置继续播放视频。换言之,每个回调都支持您执行适合给定状态变更的特定作业。在合适的时间执行正确的作业,并妥善处理转换,这将提升应用的稳健性和性能。例如,良好的生命周期回调实现有助于防止应用出现以下问题:
– 当用户在使用应用时接听来电,或切换至另一应用时崩溃。
– 当用户未主动使用它时,消耗宝贵的系统资源。
– 当用户离开应用并在稍后返回时,丢失用户的进度。
– 当屏幕在横向和纵向之间旋转时,崩溃或丢失用户的进度。
2、Activity生命周期简化图
为了在Activity生命周期各个阶段之间导航转换,Activity类提供六个核心回调方法:onCreate()、onStart()、onResume()、onPause()、onStop() 和 onDestroy()。当 Activity 进入新状态时,系统会调用其中每个回调方法。
三、利用Log类输出信息
在调试代码时,需要查看调试信息,就需要用安卓的android.util.Log类,它有5个常用方法。注意:不同打印方法使用时,都带上(String tag, String msg)参数,tag表示打印信息的标签,msg表示需要打印的信息。
1、Log.v()方法
输出颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“”,“”);
2、Log.d()方法
输出颜色是蓝色的,仅输出debug调试信息,但会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择。
3、Log.i()方法
输出颜色为绿色,输出一般提示性消息,不会输出Log.v和Log.d的信息,但会显示i、w和e的信息。
4、Log.w()方法
输出颜色为橙色,输出警告信息,一般需要我们注意优化安卓代码,同时选择它后还会输出Log.e的信息。
5、Log.e()方法
输出颜色为红色,仅显示红色的错误信息,需要我们认真分析,查找出错原因。
四、回调方法案例演示
1、创建安卓应用
基于Empty Activity模板

配置项目信息

 

单击【Finish】按钮,完成项目初始化

 

2、主布局资源文件
将约束布局改成线性布局,并设置标签控件相关属性

 

3、字符串资源文件
在strings.xml文件里修改app_name变量值,添加新变量test_life_cycle

 

4、主界面类实现功能
在MainActivity里定义标记常量TAG

 

在每个回调方法里输出一条调试信息

 

 

 

 

5、添加消息过滤器
为了更好地查看本应用的调试信息,需要添加消息过滤器。创建消息过滤器life_cycle_filter,日志标记为life_cycle

 

6、启动应用,查看日志
启动应用,查看LogCat里的消息

 

单击【Home】键,返回手机应用桌面
此时,应用窗口被桌面遮住,查看日志消息

 

单击【Overview】键,查看最近应用列表
最近打开的应用就是【生命周期】
单击在后台运行的【生命周期】应用,其窗口又重回前台,查看日志信息

 

按【Back】按键,其实无法关闭【生命周期】应用
应该按【Overview】键,选中【生命周期】应用向上滑动,即可关闭该应用

 

从日志信息可以看出三层架构
最外层(onCreate - onDestory)——(存在 - 不存在)
中间层(onStart - onStop)—— (可见 - 不可见)
最内层(onResume - onPause)—— (可交互 - 不可交互)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值