继续上一次的文章,本文的部分内容转自http://android.yaohuiji.com/about
对activity的生命周期进行验证。
源代码可以到上面说的网址去下载哈
Activity类中定义了和生命周期相关的一些方法,这些方法会在状态改变时被调用,譬如创建时调用的方法onCreate()。因此我们可以写一个程序,在程序的每个一个方法中写注释,然后看看运行时注释的打印顺序来跟踪Activity的状态变化。
本实例的具体视频创建及演示过程可以参见视频:观察翻转屏幕导致的Activity状态变化。
下面是程序代码:
package android.basic.lesson4;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivityLife extends Activity {
String tag =”[MainActivityLife]“;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i(tag, “onCreate”);
}
@Override
public void onStart(){
super.onStart();
Log.i(tag, “onStart”);
}
@Override
public void onPause(){
super.onPause();
Log.i(tag, “onPause”);
}
@Override
public void onResume(){
super.onResume();
Log.i(tag, “onResume”);
}
@Override
public void onStop(){
super.onStop();
Log.i(tag, “onStop”);
}
@Override
public void onDestroy(){
super.onDestroy();
Log.i(tag, “onDestroy”);
}
}
下一步,调出Logcat
eclipse在DDMS或debug模式下会有一个Logcat窗口,用于显示log日志
DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
在Eclipse调试程序的过程中启动DDMS,在Eclipse如下:
Window-Open Perspective-DDMS,点击启动就可以了 ;
另一种方法是在eclipse右上角点击,下拉菜单,选择Other,里面就有DDMS或者Debug模式,选择后就可以启动了。
V:Verbose,显示全部信息
D:Debug,显示调试信息
I:Info,显示一般信息
W:Warming,显示警告信息
E:Error,显示错误信息
新版本就是在后面选择,,同样的效果。我们选择Info一般信息就可以。
运行程序,用Ctrl+F11来不断调整android模拟器的屏幕(横竖调整),观察logcat里面记录的结果
只截取了一个activity的情况,我们可以看到屏幕翻转时,Android系统把ActivityLife这个Activity先杀死(具体顺序是先暂停、后关闭再销毁),然后再启动(具体顺序是先创建,后启动再恢复)。通过这个例子我们也清楚的看到了,是Android系统而不是程序员在控制Activity的生命周期。