Android 訊息機制原始碼分析

2021-10-06 09:40:28 字數 768 閱讀 4656

threadlocal:

乙個執行緒內部的資料儲存類,可以在指定執行緒中儲存資料,資料儲存以後,只有在指定執行緒中可以獲取到儲存的資料。

先看下以下**:主要是重寫了initialvalue方法(請看下面的原始碼)

@test

public

void

test()

};//abc

system.out.

println

(threadlocal.

get())

;//建立乙個新執行緒

thread thread=

newthread()

};thread.

start()

;}

get原始碼:

首先是在獲得自己所在的執行緒,然後getmap獲得thread全域性變數(?)threadlocals(為null)。所以執行不了if。直接執setinitialvalue方法。也就是我們重寫的方法。然後在該執行緒建立乙個threadlocalmap物件。

public t get()

}return

setinitialvalue()

;}

threadlocalmap getmap

(thread t)

private t setinitialvalue()

android原始碼 鍵盤訊息處理機制

鍵盤訊息處理模型 1 wms統一管理window,它包含了inputmanager變數,其對應c 層的nativeinputmanager 2 c 層的nativeinputmanager包含 inputmanger型別變數,3 c 層的inputmanager物件包含inputreader inp...

Android訊息機制

looper執行緒 主人 的 message queue 郵箱 唯一的管理人員 handler快遞小哥 跟管理人員looper溝通,送 push 新郵件 訊息 讓管理人員looper代簽扔進郵箱 message queue,也接收管理人員從郵箱拿出來的件。message queue 訊息佇列 主人的...

android 訊息機制

color green 一 角色描述 1.looper 乙個執行緒可以產生乙個looper物件,由它來管理此執行緒裡的message queue 訊息佇列 2.handler 你可以構造handler物件來與looper溝通,以便push新訊息到message queue裡 或者接收looper 從...