




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Handler和Message消息處理一、Handler的定義2主要接受子線程發(fā)送的數(shù)據(jù),并用此數(shù)據(jù)配合主線程更新UI。當應用程序啟動時,Android首先會開啟一個主線程(也就是UI線程),主線程為管理界面中的UI控件,進行事件分發(fā)。二、Handler消息處理機制3UI線程:就是我們的主線程,系統(tǒng)在創(chuàng)建UI線程的時候會初始化一個Looper對象,同時也會創(chuàng)建一個與其關聯(lián)的MessageQueue;Handler:作用就是發(fā)送與處理信息,如果希望Handler正常工作,在當前線程中要有一個Looper對象Message:Handler接收與處理的消息對象MessageQueue:消息隊列,先進先出管理Message,在初始化Looper對象時會創(chuàng)建一個與之關聯(lián)的MessageQueue;Looper:每個線程只能夠有一個Looper,管理MessageQueue三、Handler的相關方法4在使用android的消息的處理機制的時候:一般是有兩種手段,
1、該message自己綁定到目標handler后,自行進入messageQueue,等待handler接受處理。Message方法:publicstaticMessageobtain(Handlerh,intwhat,intarg1,intarg2,Objectobj),通過該方法可以獲得一個消息:Messagemessage=Message.obtain(handler,33,2,3,"hello");
2、handler主動設置要發(fā)送的消息的各個屬性值:arg1,arg2,obj,what。方法:publicfinalMessageobtainMessage(intwhat,intarg1,intarg2,Objectobj)通過該方法也可以獲得一個消息:比如Messagemessage=handler.obtainMessage(3,1,2,"java");四、常用方法5VoidhandleMessage(Messagemsg):處理消息的方法,使用handleMessage去處理消息,里面的參數(shù)Messagemsg既是在messageQueue里面取出的消息message~sendEmptyMessage(intwhat):發(fā)送空消息sendEmptyMessageDelayed(intwhat,longdelayMillis):指定延時多少毫秒后發(fā)送空信息sendMessage(Messagemsg):立即發(fā)送信息sendMessageDelayed(Messagemsg):指定延時多少毫秒后發(fā)送信息finalbooleanhasMessage(intwhat):檢查消息隊列中是否包含what屬性為指定值的消息如果是參數(shù)為(intwhat,Objectobject):除了判斷what屬性,還需要判斷Object屬性是否為指定對象的消息四、常用方法6Message:用于封裝消息的簡單數(shù)據(jù)結(jié)構。里面包含消息的ID、數(shù)據(jù)對象、處理消息的Handler引用和Runnable等。Handler:消息的發(fā)送者和最終消息處理者。MessageQueue:消息隊列,提供消息的添加、刪除、獲取等操作來管理消息隊列。Looper:用于建立消息循環(huán)并管理消息隊列(MessageQueue),不停的從消息隊列中抽取消息,分發(fā)下去并執(zhí)行。五、使用流程7流程:Handler發(fā)送消息Message,到消息隊列MessageQueue,Looper不停的輪詢消息隊列MessageQ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川2025年02月四川省攀枝花市西區(qū)礦產(chǎn)資源保護中心公開招考2名臨聘工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 四川2024年12月四川省德陽檢察機關招錄11名聘用制書記員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 跨部門協(xié)作在藥品批發(fā)行業(yè)客戶關系管理中的應用
- 2025年國網(wǎng)河北省電力有限公司高校畢業(yè)生提前批招聘校園宣講安排筆試參考題庫附帶答案詳解
- 高中語文情感美文遇見你的地方
- 跨文化背景下的藝術化匯報策略研究
- 山西專版2025版高考物理二輪復習第一篇選擇題熱點8電場中力和能的性質(zhì)精練含解析
- 貴州國企招聘2024貴州茅臺酒廠(集團)保健酒業(yè)銷售有限公司招聘20人筆試參考題庫附帶答案詳解
- 高中語文課外古詩文吳承恩序技贈寫真李山人原文及翻譯
- 特教園長合同范本
- 白城2025年吉林大安市事業(yè)單位面向上半年應征入伍高校畢業(yè)生招聘5人筆試歷年參考題庫附帶答案詳解
- 全球人工智能產(chǎn)業(yè)發(fā)展現(xiàn)狀和趨勢
- 2025年內(nèi)蒙古化工職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 民法典解讀之婚姻家庭編
- 2025年菏澤醫(yī)學??茖W校高職單招數(shù)學歷年(2016-2024)頻考點試題含答案解析
- 2025年漯河職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- Unit 2 What time is it?-A Let's spell(課件)-2024-2025學年人教PEP版英語四年級下冊
- 2024-2025學年人教版數(shù)學六年級下冊第二單元百分數(shù)(二)(含答案)
- 創(chuàng)新教案:《歌唱二小放牛郎》在2025年音樂教學中的應用
- 2024年西安電力高等??茖W校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 祖沖之的平生與貢獻
評論
0/150
提交評論