国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android操作系統(tǒng)的架構(gòu)設(shè)計(jì)分析

2020-04-11 11:31:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

之前一直在Android應(yīng)用層上做工作,最近開(kāi)始研究Android平臺(tái)上的東東了,主要是在Android Frameworks層和系統(tǒng)庫(kù)層進(jìn)行研究。以下是我自己的理解,領(lǐng)悟,希望與大家一塊分享。
Android系統(tǒng)架構(gòu)分為L(zhǎng)inux內(nèi)核驅(qū)動(dòng)、C/C ++框架、Java框架、Java應(yīng)用程序。

Android應(yīng)用層:

Android應(yīng)用程序需要Java框架支持。主要是針對(duì)手機(jī)用戶的。Android應(yīng)用層都是由Java代碼寫(xiě)的,運(yùn)行在虛擬機(jī)中。虛擬機(jī)在Android平臺(tái)中扮演著很重要的角色。虛擬機(jī)在執(zhí)行Java類的過(guò)程中,如果Java類需要與C/C++組件溝通時(shí),虛擬機(jī)會(huì)載入C/C++組件,然后讓Java函數(shù)順利的調(diào)用到C/C++組件的函數(shù)。Java與C/C++能通過(guò)標(biāo)準(zhǔn)的JNI界面相互溝通。
注:Java類是在虛擬機(jī)上運(yùn)行的,C/C++不是在虛擬機(jī)上執(zhí)行的。那么如何加載C/C++組件函數(shù)的呢?
答案是:通過(guò)System.loadLibrary(*.so的檔案名);入口函數(shù)是JNI_OnLoad();

Frameworks框架層(應(yīng)用框架層):

Java框架就是由C/C++庫(kù)包裝成為了一個(gè)JNI。簡(jiǎn)稱Java Native Interface,即Java本地接口。在應(yīng)用層和系統(tǒng)庫(kù)層之間起了一個(gè)橋梁的作用。主要是針對(duì)手機(jī)開(kāi)發(fā)商。

C/C++框架(系統(tǒng)庫(kù)):

具體實(shí)現(xiàn)Java框架功能。Java框架中的native方法都是由C/C++來(lái)完成的。

Android驅(qū)動(dòng)底層(內(nèi)核層):

最后驅(qū)動(dòng)硬件完成功能。
系統(tǒng)架構(gòu)圖如下:


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 英德市| 敦煌市| 平潭县| 宣汉县| 通渭县| 天祝| 龙游县| 三穗县| 鹤峰县| 凤凰县| 昌平区| 黄骅市| 贞丰县| 湖南省| 化州市| 朔州市| 呈贡县| 苗栗县| 会昌县| 永定县| 宝坻区| 武城县| 宣城市| 平阴县| 焉耆| 剑川县| 萍乡市| 漠河县| 正安县| 巴青县| 杭州市| 潞城市| 莆田市| 龙南县| 霍城县| 乌兰浩特市| 南通市| 乐平市| 巩义市| 中卫市| 河源市|