掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Handler機(jī)制工作原理:

創(chuàng)新互聯(lián)從2013年創(chuàng)立,公司以成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶近1000家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
Handler 工作流程基本包括 Handler、Looper、Message、MessageQueue 四個部分。但我們在日常開發(fā)中,經(jīng)常都只會用到 Handler 和 Message 兩個類。Message 負(fù)責(zé)消息的搭載,里面有個 target 用于標(biāo)記消息,obj 用于存放內(nèi)容,Handler 負(fù)責(zé)消息的分發(fā)和處理。
下面具體給你講解一下:
Handler機(jī)制是由Looper和MessageQueue來構(gòu)建消息機(jī)制的。
MessageQueue:消息隊(duì)列。雖然名為隊(duì)列,但事實(shí)上它的內(nèi)部存儲結(jié)構(gòu)并不是真正的隊(duì)列,而是采用單鏈表的數(shù)據(jù)結(jié)構(gòu)來存儲消息列表的,其中主要有插入enqueue()和從中拿走并刪除next()兩個方法。
Looper:消息循環(huán)。MessageQueue來存儲消息,Looper則是以無限循環(huán)的方式去查找是否有新消息,如有就去處理,若沒有就standby(等待)。一個線程創(chuàng)建Handler時首先需要創(chuàng)建Looper的,不然報錯:RuntimeException: No Looper; Looper.prepare() wasn't called on this thread,而且每個線程下只需要創(chuàng)建一個Looper,不然會報錯:RuntimeException: Only one Looper may be created per thread。
面試中回答,建議能自己總結(jié)一套自己的專屬答案,并理解透,那樣當(dāng)遇到這個問題,就能回答的游刃有余!
到此,以上就是小編對于如何理解人才是第一資源的問題就介紹到這了,希望這1點(diǎn)解答對大家有用。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
微信二維碼
Copyright © 2002-2023 uogjgqi.cn 快上網(wǎng)建站品牌 QQ:244261566 版權(quán)所有 備案號:蜀ICP備19037934號
微信二維碼
移動版官網(wǎng)