Package COM. SB. timer; <br/> Import Java. util. timer; <br/> Import Java. util. timertask; <br/> Import android. app. activity; <br/> Import android. OS. bundle; <br/> Import android. OS. handler; <br/> Import android. OS. message; <br/> public class timertest extends activity {<br/>/** called when the activity is first created. */<br/> @ override <br/> Public void oncreate (bundle savedinstancestate) {<br/> super. oncreate (savedinstancestate); <br/> setcontentview (R. layout. main); <br/> timer. schedule (task, 0, 10); <br/>}< br/> timer = new timer (); <br/> timertask task = new timertask () {<br/> Public void run () <br/> {<br/>/* <br/> * do not allocate new message, for system will put it into <br/> * message pool to avoid it GC, this will cause memory leak <br/> * So use obtain method to pick a message for global message <br/> * poll or handler message pool to avoid allocating new message <br/> */<br/> message MSG = message. obtain (); <br/> MSG. what = 1; <br/> handler. sendmessage (MSG); <br/>}< br/>}; </P> <p> handler = new handler () {<br/> Public void handlemessage (Message MSG) <br/>{< br/> switch (MSG. what) <br/>{< br/> case 1: <br/>{< br/> system. out. println ("hello"); <br/>}< br/> break; <br/> default: <br/> break; <br/>}< br/> super. handlemessage (MSG); <br/>}< br/>}; <br/>}