摘要:
1.使用Logcat跟踪查看Activity的生命周期。
2.使用Logcat跟踪查看Class的加载顺序。
3.使用Debug调试,跟踪代码。
内容:
1.Activity的生命周期。详情参考http://developer.android.com/guide/components/activities.html
2.创建一个Android工程,在MainActivity.java中加入重载的方法。
3.在Override/Implement Methods中选择要重写的方法,按OK就自动加入到代码。如果该方法已经被重写,则不会在该弹框中显示出来。
4.自动插入代码如下。在每段代码内使用Logcat方法输出内容,如果该方法被执行,将会从Logcat输出设置的内容。
5. 显示Logcat窗口,点击Windows->show View->Others,在弹框中找到Android->Logcat。
6. 连接上手机,运行程序。在Logcat窗口将会有log打出,有时可能没有log输出,那就把这个窗口关掉,然后再打开。输出的log信息很多,需要设置过滤。设置方法如下:
7. 运行程序,按Home键、按Back键,试一试log的输出,将会知道哪些方法被调用,调用过程对应Activity生命周期。
8.现在看一下类的加载顺序。编写如下测试代码。
package com.example.shengtest;
import android.util.Log;
public class NewClass {
{
Log.d(MainActivity.TAG, "非静态初始化调用...");
Log.d(MainActivity.TAG, "查看test赋值状态:test="+this.test);
}
String test="test";
{
Log.d(MainActivity.TAG, "非静态初始化调用...");
Log.d(MainActivity.TAG, "查看test赋值状态:test="+test);
Log.d(MainActivity.TAG, "查看MainActivity.TAG赋值状态:MainActivity.TAG="+MainActivity.TAG);
}
static {
Log.d(MainActivity.TAG, "静态初始化调用...");
}
public NewClass() {
Log.d(MainActivity.TAG, "构造函数调用...");
}
public static void staticTest(){
Log.d(MainActivity.TAG, "staticTesttest()函数调用...");
}
public void test(){
Log.d(MainActivity.TAG, "test()函数调用...");
}
}
9.在MainActivity中设置一个Button,按下Button调用该测试类。
package com.example.shengtest;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
public static final String TAG="M