android Handler使用時乙個易犯的錯誤

2021-08-25 21:55:05 字數 559 閱讀 4891

最近在使用handler的時候發現乙個容易犯的錯誤,研究了一天才搞好。

handler使用方法簡介:

handler mhandler;

1 定義handler,並實現handlermessage()方法,用來處理後台執行緒發過來的訊息。

mhandler = new handler()

};2 在後台執行緒(或者叫非ui控制線程的主線程)中,做完某一件事情,呼叫mhandler.sendmessage告訴主線程:

引數message可以自己增加需要攜帶的內容,也可以new乙個空的message。

new thread(new runnable()

}, "subthread").start();

子執行緒sendmessage以後,主線程的handlemessage方法就可以收到通知並修改ui。

3  我因為對handler.post方法理解不到位,犯了乙個錯誤:

在子執行緒啟動時用了mhandler.post(new runnable(),導致子執行緒執行時占用了主線程的執行時間,沒有實現需要的功能。

post方法說明如下:

Android Handler訊息機制

handler訊息機制 優點 寫法 1.主線程中建立乙個handler物件 handler handler new handler 2.複寫handler物件的handlermessage方法 public void handlemessage android.os.message msg 3.在子...

Android Handler 工作原理

handler message messagequeue looper 1.looper.prepare public static void prepare private static void prepare boolean quitallowed 這裡建立的looper sthreadloc...

Android Handler相關問題

1 handler是什麼?答 handler是更新ui介面的機制,也是訊息處理的機制,我們可以傳送訊息,也可以處理訊息 2 為什麼要有handler?答 android在設計的時候,封裝了一套訊息建立 傳遞 處理機制,如果不遵循這樣的機制就沒辦法更新ui資訊,就會丟擲異常。3 handler怎麼用?...