• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android平臺的體系研究

      2023-09-03 14:45:35梅嘉欣翟高粵
      客聯(lián) 2023年5期

      梅嘉欣 翟高粵

      摘 要:Android是一個基于Linux的開放、免費的操作系統(tǒng),主要應(yīng)用于移動終端,如智能手機、平板電腦等。它是由30多家科技公司和移動電話公司組成的開放手機聯(lián)盟開發(fā)。安卓盡量讓用戶體驗到最好的服務(wù)質(zhì)量,并讓開發(fā)人員獲得更開放的水平,以便更方便地進行軟件開發(fā)。因此,可以通過Android開發(fā)功能更便捷的移動應(yīng)用程序。本文主要介紹Android平臺的體系結(jié)構(gòu)。

      關(guān)鍵詞:Linux;Android;移動開發(fā)

      “Android”一詞本意是指機器人,但我們現(xiàn)在知道它是谷歌推出的開源手機操作系統(tǒng)。Android基于Linux平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,被稱為第一個真正面向移動終端的開放移動軟件。作為谷歌移動互聯(lián)網(wǎng)戰(zhàn)略的重要組成部分,Android將進一步推動實現(xiàn)谷歌企業(yè)“隨時隨地為每個人提供信息”的目標(biāo)。

      Android是由30多家科技公司包括谷歌、HTC、T-Mobile、高通、摩托羅拉、三星、中國移動和LG在內(nèi)的手機公司組成的開放手機聯(lián)盟。開放手機聯(lián)盟表示,Android平臺可以推動移動設(shè)備的創(chuàng)新,讓用戶體驗到最好的服務(wù)質(zhì)量。同時,開發(fā)人員將獲得一個新的開放級別,以獲得更方便的協(xié)同效應(yīng),確保新移動設(shè)備的開發(fā)速度。因此,Android是第一個完整、開放、免費的手機開發(fā)平臺。

      Android系統(tǒng)有以下5個特點:

      ●開放:Android是由開放手機聯(lián)盟的30多家公司開發(fā)的,因此谷歌、運營商、設(shè)備制造商和開發(fā)者之間的合作試圖建立一個標(biāo)準(zhǔn)化、開放的手機軟件平臺,形成移動領(lǐng)域開放的生態(tài)系統(tǒng)。

      ●Android平臺上的應(yīng)用程序之間沒有邊界,因此它們通過標(biāo)準(zhǔn)API訪問移動設(shè)備的核心功能。應(yīng)用程序還可以聲明它們的函數(shù),使它們可供其他應(yīng)用程序使用。

      ●移動設(shè)備上的應(yīng)用程序是平等的,因此它們可以被替換或擴展,甚至可以修改撥號程序或主界面等核心組件。

      ●應(yīng)用程序可以很容易地嵌入到HTML、JavaScript和樣式表中,網(wǎng)絡(luò)內(nèi)容可以通過WebView控件顯示。

      ●Android是一個完整的多任務(wù)環(huán)境,因此應(yīng)用程序可以并行運行。運行時在后臺,它們可以生成通知來喚醒睡眠中的程序。

      一、Android平臺的體系結(jié)構(gòu)

      Android架構(gòu)可以分為四層,從高到低分別是應(yīng)用層、應(yīng)用框架層、硬件抽象層和linux內(nèi)核層,如圖1所示。

      (一)應(yīng)用程序?qū)?/p>

      應(yīng)用程序?qū)邮怯肑ava語言編寫并在虛擬機上運行的程序。事實上,谷歌在Android系統(tǒng)中捆綁了一些核心應(yīng)用程序,如電子郵件客戶端、短信、日歷、地圖、瀏覽器、聯(lián)系人管理和其他程序。

      (二)應(yīng)用框架層

      應(yīng)用框架層是指Google發(fā)布的核心應(yīng)用的API。開發(fā)人員還可以應(yīng)用這些框架來開發(fā)他們自己的應(yīng)用程序,這可以簡化程序體系結(jié)構(gòu)設(shè)計,但必須遵守發(fā)展原則。

      Android提供以下組件:

      ●豐富和可擴展的視圖:可用于構(gòu)建應(yīng)用程序,包括列表、網(wǎng)格、文本框、按鈕和嵌入式Web瀏覽器。

      ●內(nèi)容提供者:它允許應(yīng)用程序訪問另一個應(yīng)用程序的數(shù)據(jù)或共享其數(shù)據(jù)。

      ●資源管理器:它提供對非代碼資源的訪問,如本地字符串、圖形和布局文件。

      ●通知管理器:應(yīng)用程序可以在狀態(tài)欄顯示自定義通知。

      ●活動管理器:管理應(yīng)用程序的生命周期,也提供常用的導(dǎo)航返回功能。

      ●窗口管理器:管理所有窗口程序。

      ●包管理器: Android系統(tǒng)的程序管理。

      (三)硬件抽象層

      當(dāng)應(yīng)用Android應(yīng)用框架時,Android將通過一些C/ C++庫來支持這些組件,以使它們更好地為我們服務(wù)。所有Java程序都在Dalvik虛擬機上運行,這些庫包含:

      ●仿生系統(tǒng)C庫是C語言的標(biāo)準(zhǔn)庫,也是系統(tǒng)的底層庫。由Linux系統(tǒng)調(diào)用。

      ●媒體框架:基于PacketVideo,OpenCORE來支持播放和錄制多種格式的音頻和視頻,如MPEG4,MP3,AAC,AMR,JPG,PNG。

      ●SGL:2D圖形引擎庫。

      ●SSL:位于TCP/IP協(xié)議和其他應(yīng)用協(xié)議之間,支持?jǐn)?shù)據(jù)通信。

      ●OpenGL ES1.0:支持3D效果。

      ●SQLite:關(guān)系數(shù)據(jù)庫。

      ●Webkit:Web瀏覽器引擎。

      ●FreeType:位圖和矢量。

      與PC類似,每個Android應(yīng)用程序都有自己的進程,Dalvik虛擬機只以“.dex”的形式執(zhí)行可執(zhí)行文件。因此,在編譯完Java程序后,還需要通過SDK中的dx工具將它們轉(zhuǎn)移到“.dex”中才能在虛擬機上運行。

      2007年底Google正式發(fā)布Android ADK,Dalvik虛擬機首次進入人們的視野。它對內(nèi)存的高效利用和低速CPU的高性能確實讓人刮目相看。Android系統(tǒng)可以簡單地完成進程隔離和線程管理。每個Android應(yīng)用程序?qū)?yīng)于底部的一個獨立的Dalvik虛擬機實例,其代碼在虛擬機解釋中執(zhí)行。綜上所述,Dalvik虛擬機具有以下特點:

      ●專有文件格式.dex:它放棄.class文件并應(yīng)用新的.dex格式提高了文件解析和搜索速度,并且還支持新的操作代碼。

      ●對索引文件的優(yōu)化:對索引文件結(jié)構(gòu)進行了優(yōu)化,進一步提高了索引文件的性能運行性能,包括調(diào)整所有字段的字節(jié)序列,驗證中的所有類.dex文件,并優(yōu)化一些特定類和方法的操作代碼。

      ●寄存器:與基于棧的虛擬機相比,基于寄存器的虛擬機在硬件和通用性方面較弱,但其代碼執(zhí)行效率較高。

      ●一個應(yīng)用程序、一個虛擬機實例、一個進程:每個Android應(yīng)用程序運行在一個Dalvik虛擬機實例中,每個虛擬機實例是一個獨立的進程空間。線程機制、內(nèi)存分配和管理、互斥鎖的實現(xiàn)都依賴于底層操作系統(tǒng)。每個Android應(yīng)用程序線程對應(yīng)一個Linux線程,因此虛擬機可以更多地依賴于虛擬機的線程調(diào)度和管理機制。不同的應(yīng)用程序運行在不同的線程空間,不同資源的應(yīng)用程序由不同的Linux用戶運行,最大限度地保護了應(yīng)用程序的安全性和獨立運行。

      (四)Linux內(nèi)核層

      Android的核心系統(tǒng)服務(wù)是基于Linux2.5內(nèi)核的,如安全性、內(nèi)存管理、進程管理、網(wǎng)絡(luò)協(xié)議棧、驅(qū)動模型等。Linux內(nèi)核也是硬件和軟件棧之間的抽象層。Android更需要的是與手機驅(qū)動相關(guān)的驅(qū)動如下所示。

      ●顯示驅(qū)動:基于Linux的幀緩沖驅(qū)動。

      ●鍵盤驅(qū)動程序:輸入設(shè)備,鍵盤的驅(qū)動程序。

      ●Flash存儲驅(qū)動:基于MTD的Flash驅(qū)動。

      ●攝像頭驅(qū)動:常用的基于Linux的視頻(v412)驅(qū)動。

      ●音頻驅(qū)動程序:高級Linux聲音架構(gòu)(ALSA)。

      ●藍牙驅(qū)動:基于IEEE 802.15.1的無線傳輸技術(shù)。

      ●WiFi驅(qū)動:基于IEEE 802.11。

      ●Binder IPC Driver: Android的專用驅(qū)動程序,具有單個設(shè)備節(jié)點,提供進程間的通信功能。

      ●電源管理:如電池電量。

      二、結(jié)論

      本文主要介紹了Android平臺的體系結(jié)構(gòu),詳細介紹了Android平臺的架構(gòu)組成,并對應(yīng)用層、應(yīng)用框架層、硬件抽象層和linux內(nèi)核層進行了詳細的介紹和分析,對于初步接觸Android的初學(xué)者有一定參考價值。

      參考文獻:

      [1]劉凡馨等. Android移動應(yīng)用開發(fā)基礎(chǔ)教程 [M]. 人民郵電出版社,2018.

      [2]胡敏等. Android移動應(yīng)用設(shè)計與開發(fā)[M].人民郵電出版社, 2021.

      [2]劉剛等. Android移動開發(fā)基礎(chǔ)教程[M].人民郵電出版社, 2019.

      作者簡介:梅嘉欣(2002—),女,研究方向:軟件開發(fā)。

      西青区| 环江| 金塔县| 乐都县| 屯昌县| 武隆县| 彩票| 都安| 南和县| 新巴尔虎右旗| 孟州市| 普兰县| 兴义市| 凌云县| 民权县| 库伦旗| 徐汇区| 阳城县| 遵义市| 西乌珠穆沁旗| 当雄县| 盐城市| 兴安县| 延寿县| 衢州市| 泰和县| 大埔区| 大城县| 中牟县| 江口县| 平果县| 馆陶县| 沁水县| 许昌县| 泌阳县| 虞城县| 文昌市| 疏勒县| 那坡县| 四会市| 鹿泉市|