- runOnUiThread
runOnUIThread使用
runOnUiThread(new Runnable() {
@Override
public void run() {
//方法體
}
});
- Handler
Handler詳解
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//方法體
}
};
從實現原理上,兩者別無二致,runOnUiThread
也是藉助Handler
實現的。
- 對於使用場景,
runOnUiThread
用法簡單,並且共享了同一個Handler
,用起來高效、方便。
另外,如果在主線程中直接調用,runOnUiThread
也可以判斷並立即執行,不再推入消息隊列。 - 而
Handler
由於更加基礎,所以可定製性要比runOnUiThread
強,可以實現標記、延時等功能,並且可以推入其他消息循環線程而非主線程。