現在是網際網路爆發的年代,Android、iOS作為兩大移動端作業系統,幾乎是無人不曉,那麼你是否真的知道Android作業系統到底是什麼呢,讓我們花5分鐘來進行一個簡單的了解吧。
Android簡介
1、起源
Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l’Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L’ève future)中。他將外表像人的機器起名為Android。
Android的Logo是由伊琳娜-布洛克(Irina Blok)設計的,設計靈感來源於男女廁所門上的圖形符號,外加頭上兩根天線。以下圖片為男女廁所門上的圖形與Android Logo圖示。
2、發展
Android系統發展
3、版本介紹
從2009年5月開始,Android作業系統改用甜點來作為版本代號,這些版本按照從C大寫字母開始的順序來進行命名:紙杯蛋糕(Cupcake)、甜甜圈(Donut)、閃電泡芙(Éclair)、凍優酪乳(Froyo)、薑餅(Gingerbread)、蜂巢(Honeycomb)﹑冰淇淋三明治(Ice Cream Sandwich)、果凍豆(Jelly Bean)、奇巧(KitKat)、棒棒糖(Lollipop)、棉花糖(Marshmallow)、牛軋糖(Nougat)、奧利奧(Oreo)、餡餅(Pie)。
不同的版本代號對應不同的API Level,具體見下圖彙總
Android版本號
Android系統架構Android的系統架構由四個部分組成,由底層到上層的順序分別為Linux Kernel、Android Runtime、Libraries、Application Framework,在此基礎之上則是我們在使用手機時直接面向的各類APP,見下圖
Android系統架構
Linux KernelAndroid以Linux作業系統核心為基礎,藉助Linux核心服務實現硬體裝置驅動,程序和記憶體管理,網路協議棧,電源管理,無線通訊等核心功能。
Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
也就是說Android從本質上說也是Linux作業系統的一種,只不過其基於Linux之外對移動端做了更多面向移動的新特性。
Android RuntimeAndroidRuntime包含核心庫和Dalvik虛擬機器兩部分。
Dalvik虛擬機器是基於apache的java虛擬機器,並被改進以適應低記憶體,低處理器速度的移動裝置環境。Dalvik虛擬機器依賴於Linux核心,實現程序隔離與執行緒除錯管理,安全和異常管理,垃圾回收等重要功能。
我們知道Java自身提供了JVM的虛擬機器,而Android則是使用了類似JVM的DVM作為Java虛擬機器。
Android4.4之後ART逐漸取代了Dalvik虛擬機器,在Dalvik下,應用每次執行的時候,位元組碼都需要通過即時編譯器(just in time ,JIT)轉換為機器碼,這會拖慢應用的執行效率,而在ART 環境中,應用在第一次安裝的時候,位元組碼就會預先編譯成機器碼,使其成為真正的本地應用。這個過程叫做預編譯(AOT,Ahead-Of-Time)。這樣的話,應用的啟動(首次)和執行都會變得更加快速,換句話說ART使用了空間來換取時間,所以在新的ART架構下APP的記憶體佔用比Dalvik大了一倍,替換ART後,app的開啟速度接近了iOS。
這也是為什麼現在仍存在Android 4.4的版本,因為這個版本是Dalvik到ART的一個大的變革。
LibrariesLibraries是Android的庫檔案,供Android系統的各個元件使用。這些功能通過Android的應用程式框架(application framework)為開發者使用。主要的系統類庫及說明如下表
Application FrameworkApplication Framework提供開發Android應用程式所需的一系列類庫,使開發人員可以進行快速的應用程式開發,方便重用元件,也可以通過繼承實現個性化的擴充套件。具體包括的模組如下
Application有了上面四大模組,我們的開發人員就可以在其基礎之上開發各種型別的APP了,包括系統內建應用在內,我們每天在使用的各型別的APP都是基於Application Framework層之上開發而來的,現在大家對我們每天使用的軟體由何而來應該有了一個初步的認知了吧。