Handle機制與原理(面試最簡潔回答)

2021-10-12 17:10:45 字數 473 閱讀 6701

handler 有兩個構造引數,乙個是looper,乙個是callback,如果在主線程例項化的時候,不需要填入looper,預設就是主線程。如果在子執行緒例項化的時候需要傳入looper.getmylooper(),但是例項化之前需要looper. prepare(),這個是為了將threadlocal跟執行緒繫結,例項化之後looper.loop()

handler通過sendmessage將訊息放到message裡面,然後通過enqueuemessage()將message放到messagequeue裡面,looper會在對應的執行緒死迴圈,知道找到對應的callback然後處理。

編外:子執行緒在oncreate() 中可以更新主線程的內容,原因是通過檢視原始碼view.invalidate()中,如果viewparent 為空的話,不判斷執行緒,viewparent在onresume()中才會被賦值。

建議跟著原始碼看,這樣的話面試官問啥都可以回答

Mathtype安裝與最簡破解

以上鏈結已失效 2020.7.3,我前一段時間網盤遷移資源導致分享失效了,在此補上,謝謝提醒,同志們加油。提取碼 m836 我之前的30天試用期過了,沒來得及破解,發現過期之後解鎖 註冊mathtype這一選項無法使用了,變成了精簡版。而且從網上找的一些破解方法,安全性不能保證,所以有以下不用密匙的...

Spark原理與機制初探

1.spark 作為spark生態系統的核心,spark主要提供基於記憶體計算的功能,不僅包含hadoop的計算模型mapreduce,還包含很多其他的api,如reducebykey groupbykey foreach join和filter等。spark將資料抽象為rdd,有效地擴充了spar...

039Sprng與MyBatis整合(最簡單的)

步驟 開發service元件 配置bean 栗子 資料表create table person person id int auto increment primary key,person name varchar 225 person age int public inte ce namespa...