1. 程式人生 > >Android——體系架構 +四層

Android——體系架構 +四層


Android作為一個移動裝置的平臺,其軟體層次結構包括了一個作業系統(OS),中介軟體(MiddleWare)和應用程式(Application)。根據Android的軟體框圖,其軟體層次結構自下而上分為以下幾個層次:
第一、作業系統層(OS)
第二、各種庫(Libraries)和Android 執行環境(RunTime)
第三、應用程式框架(Application Framework)
第四、應用程式(Application)


以下分別介紹Andoid各個層次的軟體的重點及其相關技術:

● 作業系統層(OS)
Android使用Linux2.6作為作業系統,Linux2.6是一種標準的技術,Linux也是一個開放的作業系統。Android對作業系統的使用包括核心和驅動程式兩部分,Android的Linux核心為標準的Linux2.6核心,Android更多的是需要一些與移動裝置相關的驅動程式。主要的驅動如下所示:
顯示驅動(Display Driver):常用基於Linux的幀緩衝(Frame Buffer)驅動。
Flash記憶體驅動(Flash Memory Driver)
照相機驅動(Camera Driver):常用基於Linux的v4l(Video for )驅動。
音訊驅動(Audio Driver):常用基於ALSA(Advanced Linux Sound Architecture,高階Linux聲音體系)驅動。
WiFi驅動(Camera Driver):基於IEEE 802.11標準的驅動程式
鍵盤驅動(KeyBoard Driver)
藍芽驅動(Bluetooth Driver)
Binder IPC驅動: Andoid一個特殊的驅動程式,具有單獨的裝置節點,提供程序間通訊的功能。
Power Management(能源管理)

● 各種庫(Libraries)和Android 執行環境(RunTime)
本層次對應一般嵌入式系統,相當於中介軟體層次。Android的本層次分成兩個部分一個是各種庫,另一個是Android 執行環境。本層的內容
大多是使用C++實現的。
在其中,各種庫包括:
▅ C庫:C語言的標準庫,這也是系統中一個最為底層的庫,C庫是通過Linux的系統呼叫來實現。
▅ 多媒體框架(MediaFrameword):這部分內容是Android多媒體的核心部分,基於PacketVideo(即PV)的OpenCORE,從功能上本庫一共
分為兩大部分,一個部分是音訊、視訊的回放(PlayBack),另一部分是則是音視訊的紀錄(Recorder)。
▅ SGL:2D影象引擎。
▅ SSL:即Secure Socket Layer位於TCP/IP協議與各種應用層協議之間,為資料通訊提供安全支援。
▅ OpenGL ES 1.0 :本部分提供了對3D的支援。
▅ 介面管理工具(Surface Management):本部分提供了對管理顯示子系統等功能。
▅ SQLite:一個通用的嵌入式

資料庫
▅ WebKit:網路瀏覽器的核心
▅ FreeType:點陣圖和向量字型的功能。
Android 的各種庫一般是以系統中介軟體的形式提供的,它們均有的一個顯著特點就是與移動裝置的平臺的應用密切相關。

Android 執行環境主要指的虛擬機器技術——Dalvik。Dalvik虛擬機器和一般Java虛擬機器(Java VM)不同,它執行的不是JAVA標準的位元組碼(bytecode )而是Dalvik可執行格式(.dex)中執行檔案。在執行的過程中,每一個應用程式即一個程序(Linux的一個Process)。    二者最大的區別在於Java VM是以基於棧的虛擬機器(Stack-based),而Dalvik是基於暫存器的虛擬機器(Register-based)。顯然,後者最大的好處在於可以根據硬體實現更大的優化,這更適合移動裝置的特點。

● 應用程式框架(Application Framework)
Android的應用程式框架為應用程式層的開發者提供APIs,它實際上是一個應用程式的框架。由於上層的應用程式是以JAVA構建的,因此本
層次提供的首先包含了UI程式中所需要的各種控制元件:
例如: Views (檢視元件)包括 lists(列表), grids(柵格), text boxes(文字框), buttons(按鈕)等。甚至一個嵌入式的Web瀏覽器。
一個Andoid的應用程式可以利用應用程式框架中的以下幾個部分:
Activity (活動)
Broadcast Intent Receiver (廣播意圖接收者)
Service (服務)
Content Provider (內容提供者)

● 應用程式(Application)
Android的應用程式主要是使用者介面(User Interface)方面的,通常以JAVA程式編寫,其中還可以包含各種資原始檔(放置在res目錄中)JAVA程式及相關資源經過編譯後,將生成一個APK包。Android本身提供了主螢幕(Home),聯絡人(Contact),電話(Phone),瀏覽器(Browers)等眾多的核心應用。同時應用程式的開發者還可以使用應用程式框架層的API實現自己的程式。這也是Android開源的巨大潛力的體現。

相關推薦

Android——體系架構 +

Android作為一個移動裝置的平臺,其軟體層次結構包括了一個作業系統(OS),中介軟體(MiddleWare)和應用程式(Application)。根據Android的軟體框圖,其軟體層次結構自下而上分為以下幾個層次: 第一、作業系統層(OS) 第二、各種庫

Android 體系架構解讀

1、引言   馬上就2017年了,時間過得真快。最近學習了一下架構師相關的能力解析和整理了一下自己在應用軟體架構、MVC、分層上面的理解(這個不僅僅是Android系統,也是windows客戶端系統,也是web系統) 掐指一算,我從11年末開始搞安卓到現在也5年了,在這期間做過好些個A

Android-體系架構

什麼是Android? 答:Android就是移動裝置的軟體棧,包括(一個完整的作業系統,中介軟體,關鍵應用程式), 底層是Linux核心,包括(安全管理, 記憶體管理,程序管理 ,電源管理,硬體驅動…)。 Android作業系統是基於Linux2.6版本的,Android作業系統是,基於在Linux核心

Android系統架構——各功能簡介

官網給了我們一個Android整體架構圖,從上到下依次是 應用程式層(Application)、應用程式框架層(Application Framework)、系統執行庫層(Libraries&

Android系統架構5

Android 是一種基於 Linux 的開放原始碼軟體棧,為廣泛的裝置和機型而建立。下圖所示為 Android 平臺的主要元件。  Android 軟體棧 Linux 核心 Android 平臺的基礎是 Linux 核心。例如,Android Runtime (

2020再見&新的計劃(建立Android體系架構)

## 2020,再見 關於2020,我心中有四個關鍵詞: * 疫情 年初突如其來的疫情,打破了原本生活的節奏,也沒想到會籠罩全世界整整一年,希望這個世界早點好起來吧。 * 科比 初三的早晨,噩耗傳來,我一度不敢相信這是真的。一定是上帝想看科比打球,所以帶走了他。同時,也帶走了我的青春。 Mamba

Android系統體系結構

安卓體系框架 安卓四層體系架構思維導圖 應用程式層 平常大家所使用的Android應用程式都是在這一層上的,提供一些核心應用程式以及讓安卓開發者可以用java開發自己的安卓應用。 應用程式框架層 這層為開發人員提供了可以完全訪問核心應用程式

android體系結構,基於mvc三結構淺析

從多方面理解Android體系結構 1.以分層的方式來看Android 安卓體系結構分為四層。 首先看一下官方關於Android體系結構的圖: 1)、Linux Kernel:負責硬體的驅動程式、網路、電源、系統安全以及記憶體管理等功能。 2)、 Libraries和

Android系統體系結構詳解

開門見山,先上圖 很明顯四層:接下來一一講解: Java應用程式層: Android會同一系列核心應用程式包一起釋出,該應用程式包包括客戶端,SMS短訊息程式,日曆,地圖,瀏覽器,聯絡人管理程式等。所有的應用程式都是使用JAVA語言編寫的。

淺談Android FrameWork框架和它在android架構起到的作用

這裡寫一些關於Android Framework比較重要的知識點,這些東西對於之後理解和研究Android Framework有很

InnoDB體系架構)Master Thread工作方式

延遲 理解 dir tex 任務 刪除 apc HA body Master Thread工作方式   在前面的文章:InnoDB體系架構——後臺線程 說到:InnoDB存儲引擎的主要工作都是在一個單獨的後臺線程Master Thread中完成。這篇具體介紹該線程的具

TCP/IP體系結構

tcp 格式 互聯 tag net bsp icmp 中轉 電子 1.數據鏈路層 2.網絡層 3.傳輸層 4.應用層 , 其中IP是在第二層網絡層中,TCP是在第3層傳輸層中, Internet體系結構最重要的是TCP/IP協議,是實現互聯網絡連接性和互操作性的關

Android官方架構組件介紹之應用(

怎麽 nbsp 註冊 bool 其他 info get inf prot 講一個項目常見的功能,友盟統計功能 例如一個項目有很多多modlue,每個裏面modlue都有Activity,Activity需要友盟統一,Fragment也需要友盟統計。一般做法就是繼承一個Bas

Android 官方體系架構Lifecycle

前言    Google I/O 2017提出的Android新體系架構Lifecycle其根本目的是實現Activity和Fragment的生命週期與邏輯的解耦,也可以在自定義View中實現監聽Act

Android群英傳》學習筆記之Android體系與系統架構

一、Android系統架構 1.Linux核心層 Android核心系統服務依賴於Linux2.6核心,如安全性、記憶體管理、程序管理、網路協議棧和驅動模型。Linux核心也是作為硬體與軟體棧的抽象層

Android系統架構圖及各介紹

 Android的系統架構採用了分層架構的思想,如圖1所示。從上層到底層共包括四層,分別是應用程式程式層、應用框架層、系統庫和Android執行時和Linux核心。 圖1:Android系統架構圖       每層功能簡要介紹如下:       一 應用程式層

Android專案架構--知識體系簡單梳理(一)

Android專案結構按模組module來劃分 lib_base:包含各種Base基類,如 BaseActivty、BaseFragment、BaseApplication,這是一些專案的開始基礎。

TCP/IP體系結構及每作用

鏈路層:          (1) 為IP模組傳送和接收IP資料報;(2) 為ARP模組傳送ARP請求和接收ARP請求應答;(3) 為RARP模組傳送RARP請求和接收RARP請求應答。 網路層:    負責相鄰計算機之間的通訊,處理傳輸層的分組傳送請求,將分組裝入IP

OSI七協議模型、TCP/IP模型和五協議體系結構之間的關係

一、OSI七層模型 OSI七層協議模型主要是:應用層(Application)、表示層(Presentation)、會話層(Session)、傳輸層(Transport)、網路層(Network)、資料鏈路層(Data Link)、物理層(Physical)。

Android群英傳》讀書筆記1.Android體系與系統架構

1. Android系統架構 應用層:Application (NDK App & SDK App) 框架層:Framework 庫和執行時:Dalvik(libraries | 執行時編譯) ART(Android 5.x開始,安裝時編譯) 核