runOnUiThread和Handler

runOnUiThread(new Runnable() {
    @Override
    public void run() {
      //方法體
    }
});
private Handler handler = new Handler() {
  @Override
  public void handleMessage(Message msg) {
     //方法體
  }
};

從實現原理上,兩者別無二致,runOnUiThread也是藉助Handler實現的。

  • 對於使用場景,runOnUiThread用法簡單,並且共享了同一個Handler,用起來高效、方便。
    另外,如果在主線程中直接調用,runOnUiThread也可以判斷並立即執行,不再推入消息隊列。
  • Handler由於更加基礎,所以可定製性要比runOnUiThread強,可以實現標記、延時等功能,並且可以推入其他消息循環線程而非主線程。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章