【Android】Activity的生命周期

一、简介

本篇讲述Activity的生命周期,并且用LogCat记录下生命周期的过程。


二、实验平台

编译器:Eclipse IDE for Java Developers(Version: Luna Service Release 2 (4.4.2))


三、版权声明

博主:甜甜的大香瓜

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

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

联系方式:[email protected]

技术交流QQ群:127442605


四、简介Activity的生命周期

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

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

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

【Android】Activity的生命周期_第1张图片

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


五、简介日志信息Log

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

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

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

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

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


六、实验步骤

1、代码修改

1)新增一个TAG常量

【Android】Activity的生命周期_第2张图片

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


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

【Android】Activity的生命周期_第3张图片


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按钮。

【Android】Activity的生命周期_第4张图片


2)添加过滤器

【Android】Activity的生命周期_第5张图片

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


3、实验结果

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

打开一个应用时:

【Android】Activity的生命周期_第6张图片

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

【Android】Activity的生命周期_第7张图片


按返回键退出应用时:

【Android】Activity的生命周期_第8张图片

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

【Android】Activity的生命周期_第9张图片


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

【Android】Activity的生命周期_第10张图片

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

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

【Android】Activity的生命周期_第11张图片

【Android】Activity的生命周期_第12张图片

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


你可能感兴趣的:(【Android】Activity的生命周期)