Android中的線程
在 Android 平台中多線程應用很廣泛,在 UI 更新、遊戲開發和耗時處理(網絡通信等)等方麵都需要多線程。 Android 線程涉及到的技術有: 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() 方法啟動該線程。 HandlerThread 的 getLooper() 方法可以獲得與 HandlerThread 線程對象關聯的 Looper 對象。再用 Looper 對象構建 new Handler(looper) 。
最後更新:2017-04-02 06:51:43