国产成人精品久久二区二区,国产精品碰碰现在自在拍,俄罗斯一级成人毛片,337p欧洲大胆艺术,亚洲不卡护士高清av在线播放,国产短视频精品区第一页,老师喂我乳,我脱他她胸罩

DAV首頁
數(shù)字音視工程網(wǎng)

微信公眾號

數(shù)字音視工程網(wǎng)

手機DAV

null
null
null
卓華,
招商,
null
null
null
快捷,
null

我的位置:

share

分析Android消息處理系統(tǒng)原理

來源:中國數(shù)字音視工程網(wǎng)        編輯:windy    2011-11-25 15:07:35     加入收藏

 廣州銳目數(shù)碼科技有限公司是專業(yè)的嵌入式與流媒體系統(tǒng)解決方案開發(fā)提供商。下面由銳目數(shù)碼android信息發(fā)布系統(tǒng) 為您介紹一下Android消息處理系統(tǒng)原理

  廣州銳目數(shù)碼科技有限公司是專業(yè)的嵌入式與流媒體系統(tǒng)解決方案開發(fā)提供商。公司從事嵌入式開發(fā)多年,有豐富的嵌入式Linux開發(fā)經(jīng)驗,致力于基于Linux的流媒體系統(tǒng)解決方案的研發(fā),已經(jīng)研發(fā)出多套與媒體系統(tǒng)相關(guān)的產(chǎn)品。同時,公司提供各種方案的機頂盒與網(wǎng)絡(luò)廣告機等產(chǎn)品。本公司擁有一支技術(shù)精湛,響應(yīng)速度快,隨需應(yīng)變的強大的研發(fā)隊伍,可以在公司現(xiàn)有技術(shù)的基礎(chǔ)上快速為客戶提供 OEM系統(tǒng)。下面由銳目數(shù)碼android信息發(fā)布系統(tǒng) 為您介紹一下Android消息處理系統(tǒng)原理

  Android系統(tǒng)中Looper負責(zé)管理線程的消息隊列和消息循環(huán),具體實現(xiàn)請參考Looper的源碼。 可以通過Loop.myLooper()得到當(dāng)前線程的Looper對象,通過Loop.getMainLooper()可以獲得當(dāng)前進程的主線程的Looper對象。

  前面提到Android系統(tǒng)的消息隊列和消息循環(huán)都是針對具體線程的,一個線程可以存在(當(dāng)然也可以不存在)一個消息隊列和一個消息循環(huán)(Looper),特定線程的消息只能分發(fā)給本線程,不能進行跨線程,跨進程通訊。但是創(chuàng)建的工作線程默認是沒有消息循環(huán)和消息隊列的,如果想讓該線程具有消息隊列和消息循環(huán),需要在線程中首先調(diào)用Looper.prepare()來創(chuàng)建消息隊列,然后調(diào)用Looper.loop()進入消息循環(huán)。如下例所示:

  class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { // process incoming messages here } }; Looper.loop(); } }

  這樣你的線程就具有了消息處理機制了,在Handler中進行消息處理。

  Activity是一個UI線程,運行于主線程中,Android系統(tǒng)在啟動的時候會為Activity創(chuàng)建一個消息隊列和消息循環(huán)(Looper)。詳細實現(xiàn)請參考ActivityThread.java文件。

  Handler的作用是把消息加入特定的(Looper)消息隊列中,并分發(fā)和處理該消息隊列中的消息。構(gòu)造Handler的時候可以指定一個Looper對象,如果不指定則利用當(dāng)前線程的Looper創(chuàng)建

  一個Activity中可以創(chuàng)建多個工作線程或者其他的組件,如果這些線程或者組件把他們的消息放入Activity的主線程消息隊列,那么該消息就會在主線程中處理了。因為主線程一般負責(zé)界面的更新操作,并且Android系統(tǒng)中的weget不是線程安全的,所以這種方式可以很好的實現(xiàn)Android界面更新。在Android系統(tǒng)中這種方式有著廣泛的運用。

  那么另外一個線程怎樣把消息放入主線程的消息隊列呢?答案是通過Handle對象,只要Handler對象以主線程的Looper創(chuàng)建,那么調(diào)用Handler的sendMessage等接口,將會把消息放入隊列都將是放入主線程的消息隊列。并且將會在Handler主線程中調(diào)用該handler的handleMessage接口來處理消息

免責(zé)聲明:本文來源于中國數(shù)字音視工程網(wǎng),本文僅代表作者個人觀點,本站不作任何保證和承諾,若有任何疑問,請與本文作者聯(lián)系或有侵權(quán)行為聯(lián)系本站刪除。(原創(chuàng)稿件未經(jīng)許可,不可轉(zhuǎn)載,轉(zhuǎn)載請注明來源)
掃一掃關(guān)注數(shù)字音視工程網(wǎng)公眾號

相關(guān)閱讀related

評論comment

 
驗證碼:
您還能輸入500