安卓RILC流程簡單分析

本文以以下三個方向梳理安卓RILC的工作流程,不貼代碼,只通過流程圖的方式幫助同學(xué)們建立一個整體認(rèn)識。

整體框架

圖片發(fā)自簡書App


初始化

圖片發(fā)自簡書App

初始化完成主要完成兩個工作,第一是創(chuàng)建一個讀線程處理來自硬件的數(shù)據(jù),這個數(shù)據(jù)一類是硬件主動上報的數(shù)據(jù),這里理解為事件,另外一類是硬件對上層命令的響應(yīng)。

初始化完成的另外一個工作是創(chuàng)建RIL EVENT多路IO復(fù)用線程,用來讀取來自上層JAVA的命令。

數(shù)據(jù)發(fā)送

圖片發(fā)自簡書App

上層發(fā)送數(shù)據(jù)的時候,如需要底層響應(yīng),則會休眠等待底層設(shè)備響應(yīng)。流程圖中紅色步驟所示

從底層獲取event數(shù)據(jù)

圖片發(fā)自簡書App


命令響應(yīng)返回

圖片發(fā)自簡書App

讀線程在獲取到硬件數(shù)據(jù)之后,分析數(shù)據(jù)幀,發(fā)現(xiàn)是命令響應(yīng)幀,則會喚醒在RIL EVENT中發(fā)送命令等待的線程(虛線所示)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容