技術學習記錄

[Android]Android作業系統簡介

簡介

Android作業系統,和iOS一樣,都是目前智慧型手機主流的作業系統之一。

歷史由來

Android早期是由Android Inc.公司於2003年10月開始開發。起初是為了建立一套數位相機上使用的作業系統,但由於智慧型手機的快速發展,因此更改方向,變成一套智慧型手機使用的作業系統。

後來Google因為要發展自己的智慧型手機系統,藉此建立自己的服務平台,因此在2005年7月11將Android Inc.收購。Android也因此變成Google旗下的軟體產品之一。

在收購Android的兩年後,Google與多家硬體製造商、軟體商、電信商成立了開放手機聯盟來共同研發Android。且Google在之後以Apache License的方式將Android開源。因此加速了Android的普及,讓所有的手機廠商都能推出自己的Android手機。

系統支援

Android支援ARM及X86架構,其中以ARM架構作為主要硬體平台。

Android除了支援在手機、平板電腦上運作外,中國也有廠商開發出基於Android系統的Netbook、甚至是Android的模擬器等產品。

Android的軟體架構

講到這裡不免俗的來個Android的系統架構圖,由上到下分別為:

  • 應用程式層
  • 應用程式框架層
  • 系統函式庫層
  • Linux核心

如下圖所示:

Android system architecture Source: Google

應用程式層

Android作業系統本身內建簡訊、撥號、相簿、網頁瀏覽器等應用程式,同時也支援安裝應用程式來擴充功能。

這些應用程式通常是由Java語言開發而成的,且內建的應用程式是可以被其他開發者開發的應用程式替換的。

和iOS相比,Android具有靈活且非常具有個人化風格的特性。

 

應用程式框架層

應用程式框架層提供了許多應用程式開發時會用到的一些服務及介面,例如活動管理、視窗管理、通信管理、資源管理、位置管理、內容提供等。這些框架都是基於Java開發的。

透過Android提供的應用程式框架,我們可以直接使用他提供的服務來實現撥打電話或傳簡訊、取得相簿內的照片或影片、推播通知訊息、GPS定位等功能。此外,Android內建的應用程式也是透過應用程式框架層提供的服務來實作的。

系統函式庫層

系統函式庫其實分為兩個部分,一個是負責支援應用程式框架層提供服務的Library部分、另一個則是Android的執行環境。

Library的部分提供了應用程式框架層所需要的核心元件,這些核心元件都是透過C/C++編寫而成的。

並透過應用程式框架層轉換成Java API提供給應用程式使用。

Android執行環境是由Dalvik虛擬機及Java核心函數庫組成。由於Java應用程式的可被移植性,因此Java的應用程式都是在Java虛擬機(JVM)的環境下執行。而Dalvik則是Google在Android作業系統上實作的JVM虛擬機。

Linux核心

Android是基於Linux核心發展的作業系統,Linux核心在系統中扮演的角色是負責提供系統的核心服務(例如:記憶體管理、處理序管理、執行緒、網路、電源管理)、以及和硬體的溝通介面(例如:硬體的驅動程式)等功能。

Android 的版本演進

名稱版本號碼發行日期API等級新增功能
Android 1.01.02008年9月23日1Android的第一個正式版本
Android 1.11.12009年2月9日2修正Bug,並增加下列功能

 

  • 用戶搜尋企業和其他服務時,下方會顯示出其他用戶搜尋時對該搜尋資訊的評價和留言。
  • 加強了電話功能,改進了免提功能。
  • 支援對郵件附件的儲存和預覽功能。
  • 增加了長按任意介面彈出多選框的功能。
Android Cupcake1.52009年4月27日3
  • 增加虛擬鍵盤支援
  • 加入錄影功能
  • 支援Widget
  • 加入AGPS技術,提升定位速度
  • 加入語音識別功能,但目前僅限於英文
  • 支援藍牙立體聲協定,並改善自動配對效能,但仍不能傳輸檔案
  • 內建的G-Sensor增加了自動探測方向的功能
  • 瀏覽器更新WebKit核心,瀏覽器性能提升
  • 中文顯示和中文輸入支援
  • 支援來電相片顯示
Android Donut1.62009年9月15日4
  • 重新設計的Android Market。
  • 手勢操控支援。
  • 支援CDMA網路。
  • 文字轉語音系統(Text-to-Speech)。
  • 快速搜尋方塊。
  • 全新的拍照介面。
  • 可檢視應用程式耗電量。
  • 支援虛擬私人網路(VPN)。
  • 更高的螢幕解像度。
  • 支援OpenCore2媒體引擎。
  • 新增對視覺及聽覺困難人士的服務
Android Eclair2.0 – 2.12009年10月26日5 – 7
  • 最佳化硬體速度。
  • 增加車用模式。
  • 支援更高的螢幕解析度。
  • 改良的使用者介面。
  • 新的瀏覽器的UI介面,並支援HTML5。
  • 新的聯絡人名單。
  • 更好的白色/黑色背景比率。
  • 支援內建相機閃光燈。
  • 支援數位變焦。
  • 改良的虛擬鍵盤。
  • 支援藍牙2.1。
  • 支援動態桌面。
Android Froyo2.2 – 2.2.32010年5月20日8
  • 支援將軟體安裝至記憶卡
  • 支援Adobe Flash 10.1
  • 加強軟體即時編譯的速度
  • 支援快速啟動功能至電話和瀏覽器
  • USB分享器和WiFi熱點功能
  • 支援瀏覽器上傳檔案
  • 更新Market中的批次及自動更新
  • 整合Chrome的V8 JavaScript引擎
  • 加強了快速搜尋小工具。
  • 更多軟體能透過Market更新,類似2.0/2.1中的Map更新。
  • 速度和效能最佳化
Android Gingerbread2.3 – 2.3.72010年12月6日9 – 10
  • 支援更大的螢幕尺寸和解像度(WXGA及更高)。
  • 重新設計的多點觸控螢幕鍵盤。
  • 支援多鏡頭(用於影片通話等)
  • 支援更多感應器(陀螺儀、氣壓計等)。
  • 電話整合Internet Call功能。
  • 支援NFC。
  • 強化電源、應用程式管理功能。
  • 新增下載管理員。
  • 最佳化遊戲開發支援。
  • 多媒體音效強化。
  • 從YAFFS轉換到ext4檔案系統。
  • 支援螢幕截圖功能。
  • 支援Google Talk視訊功能。
Android Honeycomb3.0 – 3.2.62011年2月22日11 – 13
  • 支援Google eBooks。
  • 支援平板電腦大螢幕、高解析度。
  • 支援3D加速處理。
  • 新的通知功能。
  • 專為平板電腦設計的使用者介面(重新設計的通知列與系統列)。
  • 加強多工處理的介面。
  • 重新設計適用大螢幕的鍵盤及複製貼上功能。
  • 多個標籤的瀏覽器以及私密瀏覽模式。
  • 快速切換各種功能的相機。
  • 增強的圖庫與快速捲動的聯絡人介面。
  • 更有效率的Email介面。
  • 支援多核心處理器。
  • 3.2最佳化7吋平板顯示。
Android Ice Cream Sandwich4.0 – 4.0.42011年10月18日14 – 15
  • 統一手機和平板電腦使用的系統,應用程式會自動根據裝置選擇最佳顯示方式。
  • 提昇硬體的效能以及系統的最佳化,提昇系統流暢度。
  • 在系統中使用虛擬按鍵,用來取代物理按鍵。
  • 介面以新的標籤頁形式展示,並且將應用程式和其他內容的圖示分類。
  • 使用拖放的操作方式在主畫面建立資料夾。
  • 改進的視覺化語音郵件的能力,加快或減慢語音郵件。
  • 在日曆中也可以使用多點觸控,進行縮放和拖曳操作。
  • 與其他第三方部落格類應用程式的無縫連接,即時更新的內容會被展示在主介面上。
  • Gmail支援縮放操作,支援左拉、右拉進行檢視。
  • 增加截圖功能(可以同時按住電源鍵和音量向下鍵進行截圖操作)。
  • 改進虛擬鍵盤可能產生的誤操作
  • 在螢幕鎖的狀態下對使用者設定的某些應用程式進行操作
  • 改進的複製、貼上功能
  • 更好的語音整合,即時錄音,文字聽寫等語音功能。
  • 通過臉部辨識進行解鎖。
  • 新標籤頁模式的網頁瀏覽器,支援最大同時開啟16個標籤頁。
  • 自動同步用戶手機中的網頁書籤,可以在電腦版Chrome和其他Android裝置中進行同步。
     
  • 全新的現代化Roboto字體
  • 內建流量監控功能,用戶可以對流量進行設定,超出設定流量時,手機會自動關閉上網功能,並且可以隨時檢視已使用和未使用的流量,並以報表的形式展現出來。
  • 隨時關閉正在使用的應用程式
  • 提昇內建的相機功能
  • 內建圖片處理軟體
  • 新的圖庫軟體
  • 與其他第三方應用程式進行無縫銜接,用戶可以在任何介面看到自己需要的訊息和圖像。
  • 新的啟動畫面,主畫面右下角類似Tray的圖示,檢視正在執行的程式。
  • Google搜尋條會固定在啟動器最上方
  • 支援硬體加速
  • Wi-Fi直連功能
  • 支援1080p影片播放和錄製
Android Jelly Bean4.1 – 4.3.12012年7月9日16 – 18
  • Project Butter,提昇UI的速度與流暢性,但對低階的裝置效果不大
  • Google Now:整合性助理。類似Apple的Siri。
  • Google Now可在 Google 日曆內加入活動舉辦時間、地點,系統就會在判斷當地路況後,提前在適當的出門時間給予通知。
  • 離線語音輸入。
  • Expandable notifications:通知中心顯示更多訊息,如支援拉開以檢視詳細圖片(如螢幕擷取)。
  • 更多平板種類的最佳化(主要針對小尺寸平板)。
  • Google Play 增加電視影片與電影。
  • Google Play採用智慧型升級,更新應用只會下載有改變的部分以節約時間、流量、電量,平均只需下載原APK檔案的三分之一。
  • 提昇反應速度。
  • 強化預設鍵盤。
  • 大幅改變使用者介面設計。
  • 更多Google的雲端整合。
  • 取消內建 Flash Player,並且Adobe聲明停止開發,但可自行安裝APK。。
Android KitKat4.4 – 4.4.42013年10月31日19 – 20
  • 支援語音開啟Google Now(在主畫面說出「OK,Google」)。
  • 在閱讀電子書、玩遊戲、看電影時支援全螢幕模式(Immersive Mode)。
  • 優化記憶體使用,在多工處理時有更佳的工作表現。
  • 新的電話通訊功能。
  • 舊有的SMS應用程式整合至Hangouts。
  • Emoji Keyboard 整合至 Google 鍵盤。
  • 支援 Google Cloud Print 服務,讓用戶可以利用戶中或辦公室中連接至Cloud Print的印表機,印出檔案。
  • 支援 Office 應用程式直接打開及儲存用戶在 Google Drive 內的檔案,即時同步更新檔案。
  • 支援低耗電音樂播放。
  • 全新的計步器。
  • 全新的 NFC 整合。
  • 全新的 Java 虛擬機器執行環境 ART(Android Runtime)。
  • 支援 Message Access Profile(MAP)。
  • 支援 Chromecast 及新的 Chrome 功能。
  • 支援隱藏式字幕。
  • 完全封鎖 Adobe Flash player 功能。
Android Lollipop5.0 – 5.1.12014年11月12日21 – 22
  • 支援64位元處理器。
  • 支援藍牙4.1。
  • 相機可存副檔名為*.dng的raw檔。
  • 採用全新Material Design介面。
  • 全面由 Dalvik 虛擬機器轉用 Android Runtime(ART)編譯虛擬機器。官方宣稱新的虛擬機器相較於舊虛擬機器,效能可提昇四倍。
  • 改良的通知介面及新增Priority Mode。
  • 預載省電及充電預測功能。
  • 新增自動內容加密功能。
  • 新增多人裝置分享功能,可在其他裝置登入自己帳號,並取得用戶的聯絡人、日曆等Google雲端資料。
  • 強化網路及傳輸連接性,包括Wi-Fi、藍芽及NFC。
  • 強化多媒體功能,例如支援RAW格式拍攝。
  • 強化「OK, Google」功能。
  • 改善Android TV的支援。
  • 提供低視力的設定,以協助色弱人士。
  • 改善Google Now功能。

以上則是Android系統的簡單介紹及版本演進,如需更詳細的資料請參閱Google Developers維基百科等網站。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *