1. TimerTask 和 timer连用:android
这里主要是实现倒计时,ide
TimerTask 里面有方法runOnUiThread,在这个方法里面调用timer cancel()中止倒计时,一样更新UI也是在这里实现的oop
2.使用looper更新UI界面post
这里主要是随时将处理后的数据交给UI更新,这时就要从新开启一个线程来更新UI,android 提供了handler机制来实现这种通讯。线程
在Main线程里面新开一个线程thread
Handler handler= newHandler(){date
@Override方法
public void handleMessage(Message msg){im
super.handleMessage(msg);总结
if(msg.what ==1){
textview.setText("更新后")
}
}
};
final Thread looperThread = new Thread(new Runable(){
@Override
public void run(){
Message message = new Message();
message.what =1;
handler.sendMessage(message);
}
});
在要触发更新的地方调用looperThread.start();
3. Handler + Runnable实现:
Runnable update_runnable = new Runnable(){
@Override
public void run(){
handler.post(update_runnable);
}
}
Handler.post(update_runnable);
总结下:
1. 若是是要传递状态值等信息的,就用handler+thread。
2. 若是只是更新UI,能够用Handler + runnable实现。
3. 若是是倒计时,就用TimeTask + Timer去实现。