日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android电话系统,Android电话系统之-rild.doc

發布時間:2025/3/15 Android 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android电话系统,Android电话系统之-rild.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android電話系統之-rild.doc

Android電話系統之-rild

Rild是Init進程啟動的一個本地服務,這個本地服務并沒有使用Binder之類的通訊手段,而是采用了socket通訊這種方式。RIL(Radio Interface Layer)

Android 給出了一個ril實現框架。由于Android開發者使用的Modem是不一樣的,各種指令格式,初始化序列都可能不一樣,GSM和CDMA就差別更大 了,所以為了消除這些差別,Android設計者將ril做了一個抽象,使用一個虛擬電話的概念。這個虛擬電話對象就是 GSMPhone(CDMAPhone),Phon對象所提供的功能協議,以及要求下層的支撐環境都有一個統一的描述,這個底層描述的實現就是靠RIL來 完成適配。

Andoid將RIL層分為兩個代碼空間:RILD管理 框架,AT相關的xxxril.so動態鏈接庫。將RIL獨立成一個動態鏈接庫的好處就是Android系統適應不同的Modem,不同的Mode可以有 一個獨立的Ril與之對應。從這個層面上看,Rild更多是一個管理框架。

而ril是具體的AT指令合成者和應答解析者。從最基本的功能來講,ril建立了一個偵聽Socket,等待客戶端的連接,然后從該連接上讀取RIL- Java成傳遞來的命令并轉化成AT指令發送到Modem。并等待Modem的回應,然后將結果通過套接口傳回到Ril-Java層。下圖是Ril-D的 基本框架:

下面的數據流傳遞描述圖表描述了RIL-JAVA層發出一個電話指令的5 步曲。

在 AT通訊的過程中有兩類響應:一種是請求后給出應答,一種是通知類,即為不請自來的,例如短信通知達到,我們稱該類通知為URC。在Rild中URC和一 般的Response是分開處理的,概念上URC由handleUnsolicited@Atchannel.c處理,而Response由 handleFinalResponse來處理。

1 Event Loop

Rild 管理的真正精髓在ril.cpp,ril_event.cpp中,在研究的過程中,可以看到設計者在抽象上所下的功夫,設計得很優美。Event Loop的基本工作就是等待在事件端口(串口,Socket),一旦有數據到達就根據登記的Event回調函數進行處理。現在來看Ril設計者是如何建立 一套管理框架來完成這些工作的?

1.1 Event對象

Event對象構成:(fd,index,persist,func,param)

fd事件相關設備句柄。例如對于串口數據事件,fd就是相關串口的設備句柄index persist如果是保持的,則不從watch_list中刪除。func回調事件處理函數param回調時參數 為了統一管理事件,Android使用了三個隊列:watch_list,timer_list,pending_list,并使用了一個設備句柄池readFDS。

readFDS:是Linux的fd_set,readFDS保存了Rild中所有的設備文件句柄,以便利用select函數統一的完成事件的偵聽。

watch_list:監測時間隊列。需要檢測的事件都放入到該隊列中。

timer_list:timer隊列

pending_list:待處理事件隊列,事件已經觸發,需要所回調處理的事件。

事件隊列隊列的操作:ril_event_add,ril_event_del, ril_timer_add

在添加操作中,有兩個動作:

(1) 加入到watch_list

(2) 將句柄加入到readFDS事件句柄池。

1.2 ril_event_loop()

我們知道對于Linux設備來講,我們可以使用select函數等待在FDS上,只要FDS中記錄的設備有數據到來,select就會設置相應的標志位并 返回。readFDS記錄了所有的事件相關設備句柄。readFDS中句柄是在在AddEvent加入的。所有的事件偵聽都是建立在linux的 select readFDS基礎上。

ril_event_loop 利用select等待在readFDS(fd_set)上,當select設備有數據時,ril_event_loop會從select返回,在 watch_list中相應的Event放置到pend_list,如果Event是持久性的則不從watch_list中刪除。然后 ril_event_loop遍歷pengding_list處理Event事件,發起事件回調函數。

1.3 幾個重要的Event

上面分析了ril-d的框架,在該框架上跑的事件有什么

(1)s_listen_event- (s_fdListen,listenCallback)

總結

以上是生活随笔為你收集整理的android电话系统,Android电话系统之-rild.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费二区 | 亚洲图片欧美色图 | 亚洲一区免费观看 | 国产精品爽爽久久 | 鲁丝片一区二区三区 | 国产精品国产三级国产aⅴ原创 | 亚洲成人另类 | 99国产揄拍国产精品 | 国产精品久久久亚洲 | 天堂精品一区二区三区 | 国产精品亚洲一区二区三区在线观看 | 中文字幕在线一区二区三区 | 婷婷午夜| 亚洲综合图片区 | 黄色在线网站 | 最近最经典中文mv字幕 | 国产玖玖在线 | 欧美一区二区三区免 | 中文字幕免费高清视频 | 91美女在线观看 | 欧美无砖砖区免费 | 青青草视频国产 | 欧洲做受高潮欧美裸体艺术 | 97伊人久久 | 亚洲成人激情视频 | 日韩极品视频在线观看 | 狠狠a| 欧美 亚洲 另类 激情 另类 | 人人干狠狠干 | 国产一区二区日韩 | 国产另类ts人妖一区二区 | 欧美精品hd | 亚洲精品乱 | 久久综合加勒比 | 亚洲 欧美 中文字幕 | 91成人久久| 色婷婷av一区二区三区麻豆综合 | www日| 成人免费观看网站 | 日本国产精品一区 | 视频在线观看你懂的 | 国产人妖一区二区三区 | 国产丰满农村老妇女乱 | 欧美在线视频一区二区三区 | 啪网址 | 久久久久久久久久国产 | 97人妻精品一区二区三区动漫 | 国产黄色大全 | 欧美亚洲色综久久精品国产 | 精品国产一区二区三区久久久蜜臀 | 国内自拍xxxx18 | 韩国明星乱淫(高h)小说 | 免费一级全黄少妇性色生活片 | 国家队动漫免费观看在线观看晨光 | 国产男同gay网站 | 欧美黄色片 | 午夜亚洲av永久无码精品 | 久久久久久逼 | 欧美日韩久久久久久 | 日韩在线三级 | 国产毛片a级 | 好吊妞这里只有精品 | 日韩美女激情 | 国产精品亚洲专区无码牛牛 | 99热一区二区 | 国模叶桐尿喷337p人体 | 欧美 日韩 人妻 高清 中文 | 日本www视频在线观看 | 欧洲一区二区视频 | 国产一区二区三区电影在线观看 | 国产久草av| 欧美一区二区国产 | 国产第3页| 国产一区二区三区观看 | av影音先锋| 亚洲av毛片一区二二区三三区 | 国产女同视频 | 高潮一区二区 | 日本在线观看免费 | 日韩簧片在线观看 | 成人亚洲一区 | 国内黄色一级片 | 波多野结衣免费视频观看 | 91精品人妻一区二区三区四区 | 成人必看www.| 91婷婷 | 日韩有码电影 | 丰满少妇麻豆av苏语棠 | 亚欧美日韩 | 天堂视频在线免费观看 | 中文字幕av网 | 丰满人妻妇伦又伦精品国产 | 日韩黄色片子 | 日本一二三区在线 | 国产伦精品一区二区三区在线观看 | 91精品婷婷国产综合久久蝌蚪 | 欧美丰满美乳xxx高潮www | 成年人福利视频 | 高h调教冰块play男男双性文 |