02.01 天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲


天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

如今是互聯網爆發的年代,Android、iOS作為兩大移動端操作系統,幾乎是無人不曉,那麼你是否真的知道Android操作系統到底是什麼呢,讓我們花5分鐘來進行一個簡單的瞭解吧。


Android簡介

1、起源

Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l’Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L’ève future)中。他將外表像人的機器起名為Android。

Android的Logo是由伊琳娜-布洛克(Irina Blok)設計的,設計靈感來源於男女廁所門上的圖形符號,外加頭上兩根天線。以下圖片為男女廁所門上的圖形與Android Logo圖標。

天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

Android LOGO

2、發展

天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

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操作系統?5分鐘帶你掃盲

Android版本號


Android系統架構

Android的系統架構由四個部分組成,由底層到上層的順序分別為Linux Kernel、Android Runtime、Libraries、Application Framework,在此基礎之上則是我們在使用手機時直接面向的各類APP,見下圖

天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

Android系統架構

  • Linux Kernel

Android以Linux操作系統內核為基礎,藉助Linux內核服務實現硬件設備驅動,進程和內存管理,網絡協議棧,電源管理,無線通信等核心功能。

Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層提供統一的服務。

也就是說Android從本質上說也是Linux操作系統的一種,只不過其基於Linux之外對移動端做了更多面向移動的新特性。

  • Android Runtime

AndroidRuntime包含核心庫和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的一個大的變革。

  • Libraries

Libraries是Android的庫文件,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)為開發者使用。主要的系統類庫及說明如下表

天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

Android庫

  • Application Framework

Application Framework提供開發Android應用程序所需的一系列類庫,使開發人員可以進行快速的應用程序開發,方便重用組件,也可以通過繼承實現個性化的擴展。具體包括的模塊如下


天天玩手機卻不瞭解Android操作系統?5分鐘帶你掃盲

Application Framework

  • Application

有了上面四大模塊,我們的開發人員就可以在其基礎之上開發各種類型的APP了,包括系統內置應用在內,我們每天在使用的各類型的APP都是基於Application Framework層之上開發而來的,現在大家對我們每天使用的軟件由何而來應該有了一個初步的認知了吧。


分享到:


相關文章: