android 系統詳細介紹 你對這個小機器人瞭解多少 呢?

android 系統詳細介紹 你對這個小機器人瞭解多少 呢?

系統簡介

Android 是基於 Linux 開放性內核的操作系統,是 Google 公司在2007115日公佈的 手機操作系統。早期由原名爲"Android"的公司開發,谷歌在2005年收購"Android.Inc"後, 繼續進行對 Android 系統開發運營,它採用了軟件堆層(software stack,又名軟件疊層) 的架構,主要分爲三部分。底層 Linux 內核只提供基本功能,其他的應用軟件則由各公司自 行開發,部分程序以 Java 編寫。
2011年初數據顯示,僅正式上市兩年的操作系統 Android 已經超越稱霸十年的塞班系 統,使之躍居全球最受歡迎的智能手機平臺。現在,Android 系統不但應用於智能手機,也 在平板電腦市場急速擴張。採用 Android 系統主要廠商包括臺灣的 HTC,(第一臺谷歌的手機 G1由 HTC 生產代工)美國摩托羅拉,SE 等,中國大陸廠商如:華爲、中興、聯想等。


系統架構
應用程序 Android 以 Java 爲編程語言,從接口到功能,都有層出不窮的變化,其中 Activity 
同於 J2ME 的 MIDlet,一個 Activity 類(class)負責創建視窗(window) ,一個活動中的 Activity 就是在 foreground(前景)模式,背景運行的程序叫做 Service。兩者之間通過 由 ServiceConnection 和 AIDL 連結, 達到複數程序同時運行的效果。 如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped) ,甚至被系統清除 (kill) 。
View 等同於 J2ME 的 Displayable, 程序人員可以通過 View 類與“XML layout”檔將UI 放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實 Widget 只是 View 的一種, 所以可以使用 xml 來設計 layout, HTC 的 Android Hero 手機即含有大量 的 widget。至於 ViewGroup 是各種 layout 的基礎抽象類(abstract class) ,ViewGroup 之內還可以有 ViewGroupView 的構造函數不需要再 Activity 中調用,但是 Displayable 的是必須的, Activity 中, 在 要通過 findViewById()來從 XML 中取得 View, Android 的 View 類的顯示很大程度上是從 XML 中讀取的。View 與事件(event)息息相關,兩者之間通過 Listener 結合在一起,每一個 View 都可以註冊一個 event listener,例如:當 View 要處 理用戶觸碰(touch)的事件時,就要向 Android 框架註冊 View.OnClickListener。另外還 有 Image 等同於 J2ME 的 BitMap。 中介軟件 操作系統與應用程序的溝通橋樑, 應用分爲兩層: 函數層 (Library) 和虛擬機 (Virtual Machine) Bionic 是 Android 改良 libc 的版本。Android 同時包含了 Webkit,所謂的 。 Webkit 就是 Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D 3D 的內容顯示 到屏幕上。Android 使用工具鏈(Toolchain)爲 Google 自制的 Bionic Libc
Android 採用 OpenCORE 作爲基礎多媒體框架。 OpenCORE 可分7大塊: PVPlayer、 PVAuthor、 Codec 、 PacketVideo Multimedia Framework(PVMF) 、 Operating System Compatibility Library(OSCL)CommonOpenMAX。 Android 使用 skia 爲核心圖形引擎, 搭配 OpenGL/ES。 skia 與 Linux Cairo 功能相當, 但相較於 Linux Cairo, skia 功能還只是雛形的。2005年 Skia 公司被 Google 收購,2007 年初,Skia GL 源碼被公開,目前 Skia 也是 Google Chrome 的圖形引擎。 Android 的多媒體數據庫採用 SQLite 數據庫系統。數據庫又分爲共用數據庫及私用數據庫。 用戶可通過 ContentResolver 類(Column)取得共用數據庫。 Android 的中 間層多以 Java 實現,並 且採用特殊的 Dalvik 虛擬機( Dalvik Virtual Machine) 。Dalvik 虛擬機是一種暫存器型態Register Based)的 Java 虛擬機,變量 皆存放於暫存器中,虛擬機的指令相對減少。 Dalvik 虛擬機可以有多個實例(instance每個 Android 應用程序都用一個自屬的 Dalvik 虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik 虛擬機並非運行 Java 字 節碼(Bytecode) ,而是運行一種稱爲.dex 格式的文件。 硬件抽像層 Android 的 HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅動模塊。HAL 的目的是 爲了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考 量驅動程序實現的前提下進行發展。 HAL stub 是一種代理人 (proxy) 的概念, stub 是以 *.so 檔的形式存在。 Stub 向 HAL“
操作函數(operations) ,並由 Android runtime 向 HAL 取得 stub 的 operations, 再 callback 這些操作函數。HAL 裏包含了許多的 stub(代理人) 。Runtime 只要說明類 型,即 module ID,就可以取得操作函數。 編程語言 Android 是運行於 Linux kernel 之上, 但並不是 GNU/Linux。 因爲在一般 GNU/Linux 裏 支持的功能, Android 大都沒有支持, 包括 Cairo、 X11、 Alsa、 FFmpeg、 GTK、 Pango 及 Glibc 等都被移除掉了。 Android 又以 bionic 取代 Glibc、 Skia 取代 Cairo、 以 再以 opencore 取 代 FFmpeg 等等。Android 爲了達到商業應用,必須移除被 GNU GPL 授權證所約束的部份, 例如 Android 將驅動程序移到 userspace, 使得 Linux driver 與 Linux kernel 徹底分開。 bionic/libc/kernel/ 並非標準的 kernel header filesAndroid 的 kernel header 是 利用工具由 Linux kernel header 所產生的,這樣做是爲了保留常數、數據結構與宏。
目前 Android 的 Linux kernel 控制包括安全( Security) ,存儲器管理( Memory Management) ,程序管理(Process Management) ,網絡堆棧(Network Stack) ,驅動程序模 型(Driver Model)等。下載 Android 源碼之前,先要安裝其構建工具 Repo 來初始化源碼。 Repo 是 Android 用來輔助 Git 工作的一個工具。

系統版本
很多玩家用戶可能會奇怪:爲什麼 Android 會用甜點作爲它們系統版本的代號?” 這個命名方法開始於 Andoird 1.5 發佈的時候。 作爲每個版本代表的甜點的尺寸越變越大, 然後按照26個字母數序:紙杯蛋糕,甜甜圈,鬆餅,凍酸奶,薑餅,蜂巢。 Android 1.1 發佈時間:2008 9月 Android 1.5 Cupcake 紙杯蛋糕 發佈時間:2009 年 
Android 1.6 Donut 甜甜圈 Android 2.0 Eclair 鬆餅
發佈時間:2009 年 月發佈 發佈時間:2009 年 10 月 26 
Android 2.1 Eclair 鬆餅 Android 2.1: 2009 年 10 月 26 日, 又一個主要版本升級以創紀錄的速度放出。 這次, 大版本升級到了 Android 2.1 “Eclair.”Android 2.1主要特性:提升硬件速度更多屏幕 以及分辨率選擇大幅度的用戶界面改良支持 Exchange 活動牆紙大幅改進虛擬鍵盤藍牙 2.1Google 地圖 Android 2.2 Froyo 凍酸奶 谷歌於北京時間2010520日晚上10:30點在舊金山 Moscone 會展中心舉辦 Google I/O 2010大會第二天的會議,Google 正式發佈了代號是“froyo 凍酸奶的 Android 操作 系統2.2版。 相對於上一版本的改變:1、整體性能大幅度的提升;23G 網絡共享功能;3Flash 的支持;4App2sd 功能;5、全新的軟件商店;6、更多的 Web 應用 API 接口的開發。 Android 2.3 Gingerbread 薑餅 北京時間2010127日凌晨,Google 正式對外發布了他們的下一代智能手機操作系統 Android 2.3也就被大家所熟知的 Android Gingerbread 系統。 主要更新包括:
遊戲:增加了新的垃圾回收和優化處理事件,以提高對遊戲的支持能力。原生代碼可直 接存取輸入和感應器事件、EGL/OpenGL ESOpenSL ES。新的管理窗口和生命週期的框架。
多媒體:支持 VP8和 WebM 視頻格式,提供 AAC 和 AMR 寬頻編碼,提供了新的音頻效果 器,比如混響、均衡、虛擬耳機和低頻提升。 通訊方式:支持前置攝像頭、SIP/VOIP 和 NFC(近場通訊) 站在用戶的角度看,這次更新的亮點主要有:1、簡化界面、速度提升;2、更快更直觀 的文字輸入;3、一鍵文字選擇和複製/粘帖;4、改進的電源管理系統;5、新的應用管理方 式;6、原生支持前置前置攝像頭、互聯網通話和 NFC(近場通訊) ;7、系統原生支持 VoIP, 可以在聯繫人里加入它的 SIP 帳戶,然後直接通過系統來撥打 VoIP 電話;8、增加下載管理 器: Android 2.4 Ice cream sandwich 冰激凌三明治 預計在2011年第四季度發佈。其甜品代號爲 Ice cream sandwich(冰激凌三明治) 。預 計與2.3版本之間的變化不會太大,但是會有不少功能更新。畢竟已經採用了新的代號。 目前已知的 Android 2.4帶來的更新包括更多的動畫特效、更快的運行速度、軟件通話 降噪、視頻聊天等。Android 2.4系統不會是之前一直謠傳的 Android 3.0,其真正的版本 號將會是 Android 2.4。 Android 3.0 Honeycomb 蜂巢 3.0系統特性:1、優化針對平板;2、全新設計的 UI 增強網頁瀏覽功能;3n-app
purchases 功能;4、經過優化的 Gmail 電子郵箱;5、全面支持 GoogleMaps Android 3.1 Honeycomb Google 發佈了最新的 Android3.1操作系統,新版本最大的改變是將 Android 手機系統跟平 板系統再次合併,從而方便開發者。Android3.1相比3.0的升級有限,除了任務管理器可以 滾動,支持 USB 輸入設備(鍵盤、鼠標等) ,另外還有,它會支持 Google TV.可以支持 XBOX 360無線手柄,這個就牛掰了,大屏幕的 Android 平板電腦肯定會非常喫香,簡直就是一臺 隨身遊戲機嘛,還是用手感最好的無線手柄的。此外就是一些 widget 支持的變化,能更加 容易的定製屏幕 widget 插件。
Android 歷史
2008922日,美國運營商德國 T-Mobile 在紐約正式發佈第一款 Android 手機——TMobile G1。 該款手機爲臺灣宏達電(HTC)代工製造, 是世界上第一部使用 Android 操作系統 的手機,支持 WCDMA/HSPA 網絡,理論下載速率7.2Mbps,並支持 Wi-Fi。 20091028日正式發佈了 Android 2.0 智能手機操作系統。 立信首款 Android 機型 X10上市 。 201017日,Google 在其美國總部正式向外界發佈了旗下首款合作品牌手機 Nexus OneHTC G5) ,並同時開始對外發售。 20101月索尼愛
201079日,美國 NDP 集團調查顯示,Android 系統已佔據了美國移動系統市場28%
的份額。 北京時間325日,據國外媒體報道,谷歌週四表示,谷歌暫停開源 Android3.0,並將 暫時阻止小型手機生產商使用其 Android 3.0“Honeycomb”系統,期限未定。 谷歌一 位發言人通過電子郵件聲明稱,Honeycomb 是專爲平板電腦而非手機設計的,在該系統以開 源形式發佈前,還有很多工作要做。谷歌向《商業週刊》表示,推遲發佈可能達數月之久。 谷歌稱:代號爲 Honeycomb 的 Android 3.0系統,是針對大屏幕設備和改進小軟件、 多任務、瀏覽、通知和客戶化等功能而設計。雖然我們很高興爲平板電腦提供這些新功能, 但交付給其他設備包括手機前我們有更多的工作要做。 我們決定暫不開放源代碼。 我們致力 於將 Android 作爲跨多設備類型的開放式平臺來提供,並在準備好時公佈源代碼。 這意味着小型手機制造商要使用 Honeycomb 將不得不等待一段時間。 不過大型設備商如 HTC 和摩托羅拉,已經可以使用。這些設備製造商一般安裝在平板電腦中。 對此,谷歌工程副總裁和 Android 主管安迪·魯賓(Andy Rubin)表示:爲了制定平 板電腦出貨的時間表, 我們進行了一些折衷設計。我們不想思考如何在手機上運行同一個 軟件。 魯賓還表示,谷歌不想冒險帶來非常糟糕的用戶體驗。今年2月在發佈 Honeycomb 時,谷歌發言人稱,目前是專爲平板電腦設計,以後這些功能將推廣到手機上。手機版的 新 Android,可能不會被叫做“Honeycomb ”,也可能是與3.0不同的版本。


Android 的未來發展
雖然沒有看到 Gphone 的真正模樣,但據瞭解,Google 的 Android 平臺手機將在2008年 下半年正式揭開面紗.對於消費者來說,Google 手機將是一款通用的、功能強大的、設備完 整的手機產品。 美國諮詢研究集團 Strategy Analytics 的最新報告指出,Google 最 近公佈的 android 手機軟件平臺,很可能在2008年時獲得全球智能手機軟件平臺2%的份額。 然而老牌智能手機軟件平臺製造商 Symbian 發言人則表示:Google 的 android 只不過 是另一個 linux, symbian 對其它軟件與其形成的競爭並不感到擔心。 除了北美之外, Symbian 在其它地區智能手機市場都佔有大部分市場份額。
與 iPhone 相似,Android 採用 WebKit 瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網 功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比 iPhone 等其他手 機更強調搜索功能,界面更強大,可以說是一種融入全部 Web 應用的單一平臺。 但其最震撼人心之處在於 Android 手機系統的開放性和服務免費。Android 是一個對第 三方軟件完全開放的平臺,開發者在爲其開發程序時擁有更大的自由度,突破了 iPhone 等 只能添加爲數不多的固定軟件的枷鎖;同時與 Windows MobileSymbian 等廠商不同, Android 操作系統免費向開發人員提供,這樣可節省近三成成本。 Android 項目目前正在從手機運營商、手機廠商、開發者和消費者那裏獲得大力支持。 谷歌移動平臺主管安迪·魯賓(Andy Rubin)表示, 與軟件開發合作伙伴的密切接觸正在進行 中。從去年11月開始,谷歌開始向服務提供商、芯片廠商和手機銷售商提供 Android 平臺, 並組建開放手機聯盟,其成員超過30家。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章