我想使用下面的代碼在我的android遊戲中實現一個計時器。此代碼在每秒之後運行某些代碼。通過處理程序的無限循環會阻塞UI線程嗎?
final Handler handler = new Handler();
Runnable runable = new Runnable() {
@Override
public void run() {
try{
//task to be done
handler.postDelayed(this, 1000);
}
catch (Exception e) {
// TODO: handle exception
}
finally{
//task to be done
handler.postDelayed(this, 1000);
}
}
};
handler.postDelayed(runable, 1000);
該處理程序是在UI線程中創建的。這樣的無限循環會阻塞線程嗎?如果不是爲什麼不呢?
它會阻止線程運行「任務完成」所需的時間...然後約1秒線程將免費爲其他東西... – Selvin