【Android】Android之Activity的生命周期

来源:互联网 发布:自媒体怎么赚钱知乎 编辑:程序博客网 时间:2024/06/05 10:41

本篇博文最后修改时间:2017年01月06日,11:06。


一、简介

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


二、实验平台

开发平台:Eclipse IDE for Java Developers(Version: Luna Service Release 2 (4.4.2))

安卓系统: Android 4.3

手机:红米1S


三、版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
暂无

2、在进行本文步骤前,请先实现以下博文:
暂无


五、基础知识

1、什么是Activity的生命周期?

答:

每个 Activity 实例都有生命周期。

在 Activity 的生命周期内,进行“运行、暂停和停止”三种状态转换。

每次状态发生转换时,都有一个 Activity 方法将状态改变的消息通知activity。


注:不需要我们自己去调用 onCreate等生命周期方法,Android会适时去调用它们。我们只需要修改它们的处理事件即可。


2、什么是日志信息Log?

答:

Log类似单片机的串口工具,可以打印出调试信息。

本篇使用的方法是:public static int d(String tag, String msg)

其中,d代表debug,用来标识日志信息的级别。

tag参数标识日志信息的来源,一般会以类名为值的TAG常量传入。比如TAG=feilusiaActivity。

msg参数标识日志的具体内容。


六、实验步骤

1、代码修改

1)新增一个TAG常量


这个TAG一般是跟类名一样,这里我自定义为feilusia。


2)添加onCreate方法的日志输出代码



3)添加其他生命周期中的方法的日志输出代码

@Overridepublic void onStart(){super.onStart();Log.d(TAG, "onStart() called");}@Overridepublic void onPause(){super.onPause();Log.d(TAG, "onPause() called");}@Overridepublic void onResume(){super.onResume();Log.d(TAG, "onResume() called");}@Overridepublic void onStop(){super.onStop();Log.d(TAG, "onStop() called");}@Overridepublic void onDestroy(){super.onDestroy();Log.d(TAG, "onDestroy() called");}
默认工程中没有以上的生命周期的方法代码,但是它们都是存在的。只是在这里添加log代码。

注:这里的@Override会要求编译器保证当前类具有准备覆盖的方法。也就是说如果onStart编译出错,编译器在这里会报错。


2、使用LogCat

1)打开LogCat

打开Window → Show View → Other...菜单,展开Android文件夹找到并选择LogCat,然后单击OK按钮。



2)添加过滤器


给这个过滤器起一个名字,然后将之前的TAG名字放到by Log Tag中。随后logcat中就只会有TAG为feilusia的信息了。


七、注意事项

暂无


八、实验结果

1)打开一个应用+按返回键

打开一个应用时:


看到log信息为下面的流程:



按返回键退出应用时:


看到log信息为下面的流程:



2)打开一个应用+按主屏幕键+重新打开这个应用


发现按“主屏幕”键比按“返回”键少了“onDestroy()”方法,说明这个应用并没有被销毁。

再长按主屏幕键选中刚才的应用



发现这里也只有两步,并不需要重新onCreate,因为之前并没有销毁。


0 0
原创粉丝点击