在
android
平台中多线程应用很广泛,在
ui
更新、游戏开发和耗时处理(网络通信等)等方面都需要多线程。
线程涉及到的技术有:
handler,
message,messagequeue,looper,handlerthread。
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
btnend = (button) findviewbyid(r.id.btnend);
btnend.setonclicklistener(new onclicklistener() {
@override
public void onclick(view v) {
isrunning = false;
}
});
labeltimer = (textview) findviewbyid(r.id.labeltimer);
handlerthread thread = new
handlerthread("myhandlerthread");
thread.start();
handler = new handler(thread.getlooper());
runnable r = new runnable() {
public void run() {
if (isrunning) {
labeltimer.settext("
逝去了
" +timer + "
秒
");
timer++;
handler.postdelayed(this,
1000);
};
handler.postdelayed(r, 1000);
用
new
handlerthread("myhandlerthread")
创建
handlerthread
线程,通过
thread.start()
方法启动该线程。
的
getlooper()
方法可以获得与
线程对象关联的
looper
对象。再用
对象构建
new handler(looper)
。