成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

handler的機(jī)制詳解-創(chuàng)新互聯(lián)

andriod提供了Handler 和 Looper 來滿足線程間的通信。Handler先進(jìn)先出原則。Looper類用來管理特定線程內(nèi)對(duì)象之間的消息交換(MessageExchange)。

1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來管理此線程里的MessageQueue(消息隊(duì)列)。
2)Handler: 你可以構(gòu)造Handler對(duì)象來與Looper溝通,以便push新消息到MessageQueue里;或者接收Looper從     Message Queue取出)所送來的消息。
3) Message Queue(消息隊(duì)列):用來存放線程放入的消息。

在政和等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),政和網(wǎng)站建設(shè)費(fèi)用合理。

4)線程:UIthread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)MessageQueue。

1.Handler創(chuàng)建消息
  每一個(gè)消息都需要被指定的Handler處理,通過Handler創(chuàng)建消息便可以完成此功能。Android消息機(jī)制中引入了消息池。Handler創(chuàng)建消息時(shí)首先查詢消息池中是否有消息存在,如果有直接從消息池中取得,如果沒有則重新初始化一個(gè)消息實(shí)例。使用消息池的好處是:消息不被使用時(shí),并不作為垃圾回收,而是放入消息池,可供下次Handler創(chuàng)建消息時(shí)使用。消息池提高了消息對(duì)象的復(fù)用,減少系統(tǒng)垃圾回收的次數(shù)。消息的創(chuàng)建流程如圖所示。
handler的機(jī)制詳解

2.Handler發(fā)送消息

UI主線程初始化第一個(gè)Handler時(shí)會(huì)通過ThreadLocal創(chuàng)建一個(gè)Looper,該Looper與UI主線程一一對(duì)應(yīng)。使用ThreadLocal的目的是保證每一個(gè)線程只創(chuàng)建唯一一個(gè)Looper。之后其他Handler初始化的時(shí)候直接獲取第一個(gè)Handler創(chuàng)建的Looper。Looper初始化的時(shí)候會(huì)創(chuàng)建一個(gè)消息隊(duì)列MessageQueue。至此,主線程、消息循環(huán)、消息隊(duì)列之間的關(guān)系是1:1:1。

Handler、Looper、MessageQueue的初始化流程如圖所示:

handler的機(jī)制詳解

Hander持有對(duì)UI主線程消息隊(duì)列MessageQueue和消息循環(huán)Looper的引用,子線程可以通過Handler將消息發(fā)送到UI線程的消息隊(duì)列MessageQueue中。

3.Handler處理消息

UI主線程通過Looper循環(huán)查詢消息隊(duì)列UI_MQ,當(dāng)發(fā)現(xiàn)有消息存在時(shí)會(huì)將消息從消息隊(duì)列中取出。首先分析消息,通過消息的參數(shù)判斷該消息對(duì)應(yīng)的Handler,然后將消息分發(fā)到指定的Handler進(jìn)行處理。

子線程通過Handler、Looper與UI主線程通信的流程如圖所示。

handler的機(jī)制詳解

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱:handler的機(jī)制詳解-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://jinyejixie.com/article38/dhddsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、建站公司、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)公司、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
永善县| 运城市| 即墨市| 石狮市| 鸡泽县| 汝阳县| 仪陇县| 同心县| 根河市| 敦化市| 盐津县| 望城县| 会昌县| 清镇市| 饶平县| 大悟县| 进贤县| 敦化市| 阳西县| 辛集市| 大姚县| 丰县| 龙游县| 龙游县| 双江| 夏津县| 南华县| 康平县| 获嘉县| 刚察县| 商河县| 石门县| 安塞县| 朝阳县| 乐陵市| 垫江县| 若尔盖县| 航空| 永定县| 白城市| 扎鲁特旗|