1.单独使用handler实现定时器,这种实现方法是在主线程中操作,只有在耗时比较少的时候才会有效,并且如果间隔时间太短,可能并不会起作用。
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1) {
//需要更新的操作
...
//移除msg.what=1的消息,使消息队列中只有一个循环消息
handler.removeMessages(1);
//间隔1秒后,重新发送msg=1的消息
handler.sendEmptyMessageDelayed(1,1000);
}
else if (msg.what == 0){
//直接移除消息,定时器停止
handler.removeMessages(1);
}
super.handleMessage(msg);
}
};
public void start() {
Message msg=new Message();
msg.what = 1;
handler.sendMessage(msg);
}
// 停止
public void stop() {