Android框架結(jié)構(gòu)
直接上圖:

由上圖,我們可以看出Android系統(tǒng)架構(gòu)由5部分組成,
分別是:Linux Kernel(linux內(nèi)核)、Android Runtime(運(yùn)行時(shí)環(huán)境)、Libraries(類庫)、Application Framework(應(yīng)用框架)、Applications(應(yīng)用)。
1.1、Linux Kernel
Android基于Linux 2.6提供核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。
如果你學(xué)過計(jì)算機(jī)網(wǎng)絡(luò)知道OSI/RM,就會(huì)知道分層的好處就是使用下層提供的服務(wù)而為上層提供統(tǒng)一的服務(wù),屏蔽本層及以下層的差異,當(dāng)本層及以下層發(fā)生了變化不會(huì)影響到上層。也就是說各層各司其職,各層提供固定的SAP(Service Access Point),專業(yè)點(diǎn)可以說是高內(nèi)聚、低耦合。
如果你只是做應(yīng)用開發(fā),就不需要深入了解Linux Kernel層。
1.2、Android Runtime
Android包含一個(gè)核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個(gè)Android應(yīng)用程序是Dalvik虛擬機(jī)中的實(shí)例,運(yùn)行在他們自己的進(jìn)程中。Dalvik虛擬機(jī)設(shè)計(jì)成,在一個(gè)設(shè)備可以高效地運(yùn)行多個(gè)虛擬機(jī)。Dalvik虛擬機(jī)可執(zhí)行文件格式是.dex,dex格式是專為Dalvik設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。
大多數(shù)虛擬機(jī)包括JVM都是基于棧的,而Dalvik虛擬機(jī)則是基于寄存器的。dx 是一套工具,可以 主站蜘蛛池模板: 翁源县| 唐河县| 班玛县| 达州市| 平顺县| 利津县| 通化县| 玉溪市| 平遥县| 合江县| 泾源县| 子洲县| 马关县| 武宁县| 朝阳区| 临朐县| 深圳市| 丰顺县| 双峰县| 山丹县| 石门县| 湾仔区| 桐乡市| 安岳县| 郑州市| 清镇市| 祁连县| 胶南市| 阿巴嘎旗| 石门县| 上虞市| 濉溪县| 洪江市| 唐河县| 崇礼县| 阿合奇县| 凤凰县| 浦北县| 阳朔县| 桃园县| 元朗区|