您的位置:首页 > 移动开发 > Android开发

Android 之 View线程 run方法和draw方法执行的先后顺序

2012-03-30 00:13 931 查看
package com.ethan.activity;

import android.content.Context;
import android.graphics.Canvas;
import android.util.Log;
import android.view.View;

public class MyView extends View implements Runnable {

private static final String TAG = "view";

public MyView(Context context) {
super(context);
}

@Override
protected void onDraw(Canvas canvas) {
Log.i(TAG, "hello2.................");
super.onDraw(canvas);
}

@Override
public void draw(Canvas canvas) {
//先打印出来,draw调用onDraw
Log.i(TAG, "hello.................");
super.draw(canvas);
}

@Override
public void run() {
Log.i(TAG, "run..........");
}

public void start() {
new Thread(this).start();
}
}


package com.ethan.activity;

import android.app.Activity;
import android.os.Bundle;

public class ViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView view = new MyView(getApplicationContext());

setContentView(view);
view.start();
}
}


根据打印结果得出:先执行run() ,然后执行draw()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: