package com.sb.timer; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class timertest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); timer.schedule(task, 0, 10); } Timer timer= new Timer(); TimerTask task = new TimerTask(){ public void run() { /* * do not allocate new message, for system will put it into * message pool to avoid it GC, this will cause memory leak * so use obtain method to pick a message for global message * poll or handler message pool to avoid allocating new message */ Message msg = Message.obtain(); msg.what = 1; handler.sendMessage(msg); } }; Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: { System.out.println("hello"); } break; default: break; } super.handleMessage(msg); } }; }