1.handler為android中多線程間通信的一種機(jī)制,
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)延邊朝鮮族免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。@1android中只允許在UI線程(主線程)操作或改變UI,其他線程不能操作UI。
@2其他線程有刷新UI的需要,所以得告訴UI線程,這時(shí)候就用到Handler,在handeMessage方法中處理消息。
@3handler可以定義在主線程也可以定義在其他線程,作用不一樣。
@4與handler執(zhí)行相關(guān)的類:Handler,Message,MessageQueue,Looper
UI線程:主線程,創(chuàng)建時(shí)會(huì)自動(dòng)初始化一個(gè)Looper對(duì)象,也會(huì)創(chuàng)建一個(gè)消息隊(duì)列
Message:消息,其中包含了消息ID,消息處理對(duì)象以及處理的數(shù)據(jù)等,由MessageQueue統(tǒng)一列隊(duì),終由Handler處理。
Handler:處理者,負(fù)責(zé)Message的發(fā)送及處理。使用Handler時(shí),需要實(shí)現(xiàn)handleMessage(Message msg)方法來對(duì)特定的Message進(jìn)行處理,例如更新UI等。
MessageQueue:消息隊(duì)列,用來存放Handler發(fā)送過來的消息,并按照FIFO規(guī)則執(zhí)行。當(dāng)然,存放Message并非實(shí)際意義的保存,而是將Message以鏈表的方式串聯(lián)起來的,等待Looper的抽取。
Looper:消息泵,不斷地從MessageQueue中抽取Message執(zhí)行。因此,一個(gè)MessageQueue需要一個(gè)Looper。
Thread:線程,負(fù)責(zé)調(diào)度整個(gè)消息循環(huán),即消息循環(huán)的執(zhí)行場所。
2.handler的使用
@1用在主線程
---1-定義Handler對(duì)象,重寫handleMessage方法,在方法里面處理消息,更新UI
private Handler mHanlder = new Handler(){ public void handleMessage(android.os.Message msg) { numberAdapter = new BlackNumberAdapter(getApplicationContext(), mList, mBnd); lv_blacknum.setAdapter(numberAdapter); }; };
---2-在其他 線程發(fā)送消息,有時(shí)需要自己定義消息對(duì)象
mHanlder.sendEmptyMessage(BLACKNUM_PREPARED);
@2handler定義在子線程,需要自己創(chuàng)建Looper對(duì)象
----流程:
====1.調(diào)用Looper.prepare()為當(dāng)前線程創(chuàng)建Looper對(duì)象,此時(shí)會(huì)自動(dòng)創(chuàng)建MessageQueue消息隊(duì)列;2.創(chuàng)建Handler對(duì)象,重寫handleMessage方法;3.調(diào)用Looper.loop()方法啟動(dòng)Looper消息循環(huán)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。