Handler傳送訊息

2022-05-21 08:38:45 字數 1080 閱讀 4246

obtainmessage()得到乙個message物件。

建立乙個message然後傳送是這麼寫的:

message msg = new message();

msg.arg1 = 1;

msg.arg2 = 2;

msg.what = 3;

msg.obj = object;

handler.sendmessage(msg);

效能優化後這樣寫:

message msg = handler.obtainmessage();

msg.arg1 = 1;

msg.arg2 = 2;

msg.what = 3;

msg.obj = object;

handler.sendmessage(msg);

相當於:

message msg = handler.obtainmessage(int what,int arg1, int arg2, object obj ) 

handler.sendmessage(msg);

再簡練一點(這段**在建立的message中只傳入兩個引數,並讓handler延遲10ms傳送訊息):

handler.sendmessagedelayed(handler.obtainmessage(int what,object obj), 10);

至於接受訊息,肯定是在handlemessage(message msg)中:

handler handler = new handler()            

};

給個例項看一看:

public boolean ontouch(view view, motionevent event)

return false;

} handler handler = new handler() }};

Handler傳送訊息小結

obtainmessage 得到乙個message物件。建立乙個message然後傳送是這麼寫的 message msg new message msg.arg1 1 msg.arg2 2 msg.what 3 msg.obj object handler.sendmessage msg 效能優化後...

Handler訊息機制

android的訊息機制主要是指handler的執行機制,也就是handler message messagequeue looper threadlocal之間的工作過程。handler 主要用於傳送和處理訊息。messagequeue 訊息佇列,主要用於存放所有通過handler傳送的messa...

handler傳送訊息之後做了什麼事情。

首先來看handler發訊息的幾個方式 handler提供了好幾個傳送訊息的方式。post系列和sendmessage系列都是差不多的最終都會呼叫sendmessageattime 函式 這裡用post系枚舉例 handler.post runnable r 入參是乙個runnable。看看裡面做了...