package com.android.frameworktest.performance; import android.app.Activity; import android.os.Bundle; import android.os.Debug; import android.os.Handler; import android.view.View; import android.view.ViewGroup; import android.content.Context; import android.graphics.Canvas; public class InvalidateCycle extends Activity { private boolean mStartProfiling; private InvalidateCycle.AutoInvalidateView mView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mView = new AutoInvalidateView(this); mView.setLayoutParams(new ViewGroup.LayoutParams(16, 16)); setContentView(mView); new Handler().postDelayed(new Runnable() { public void run() { mStartProfiling = true; android.util.Log.d("Performance", "Profiling started"); Debug.startMethodTracing("invalidateCycle"); mView.invalidate(); } }, 15000); } private class AutoInvalidateView extends View { private boolean mFirstDraw; public AutoInvalidateView(Context context) { super(context); } protected void onDraw(Canvas canvas) { if (mStartProfiling && !mFirstDraw) { Debug.stopMethodTracing(); android.util.Log.d("Performance", "Profiling ended"); mFirstDraw = true; } canvas.drawColor(0xFFFF0000); } } }