本篇博文最后修改时间: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
五、基础知识
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)添加其他生命周期中的方法的日志输出代码
@Override
public void onStart(){
super.onStart();
Log.d(TAG, "onStart() called");
}
@Override
public void onPause(){
super.onPause();
Log.d(TAG, "onPause() called");
}
@Override
public void onResume(){
super.onResume();
Log.d(TAG, "onResume() called");
}
@Override
public void onStop(){
super.onStop();
Log.d(TAG, "onStop() called");
}
@Override
public 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,因为之前并没有销毁。