《論Android的發展方向(個人見解)》

一.Android的出現
1.Android簡介

Android一詞的本義指“機器人”,同時也是Google於2007年11月5日
宣佈的基於Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。
2. Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l’Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L’ève future)中。他將外表像人的機器起名爲Android。

二.Android的發展
1.Android的發展歷程

2003年10月,Andy Rubin等人創建Android公司,並組建Android團隊。

2005年8月17日,Google低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成爲Google公司工程部副總裁,繼續負責Android項目。

2007年11月5日,谷歌公司正式向外界展示了這款名爲Android的操作系統,並且在這天谷歌宣佈建立一個全球性的聯盟組織,該組織由34家手機製造商、軟件開發商、電信運營商以及芯片製造商共同組成,並與84家硬件製造商、軟件開發商及電信營運商組成開放手持設備聯盟(Open
Handset
Alliance)來共同研發改良Android系統,這一聯盟將支持谷歌發佈的手機操作系統以及應用軟件,Google以Apache免費開源許可證的授權方式,發佈了Android的源代碼。

2008年,在GoogleI/O大會上,谷歌提出了AndroidHAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會(FCC)的批准,在2008年9月,谷歌正式發佈了Android
1.0系統,這也是Android系統最早的版本。

2009年4月,谷歌正式推出了Android 1.5這款手機,從Android
1.5版本開始,谷歌開始將Android的版本以甜品的名字命名,Android 1.5命名爲Cupcake(紙杯蛋糕)。該系統與Android 1.0相比有了很大的改進。

2009年9月份,谷歌發佈了Android 1.6的正式版,並且推出了搭載Android 1.6正式版的手機HTC
Hero(G3),憑藉着出色的外觀設計以及全新的Android 1.6操作系統,HTC
Hero(G3)成爲當時全球最受歡迎的手機。Android 1.6也有一個有趣的甜品名稱,它被稱爲Donut(甜甜圈)。

2010年2月份,Linux內核開發者Greg
Kroah-Hartman將Android的驅動程序從Linux內核“狀態樹”(“staging
tree”)上除去,從此,Android與Linux開發主流將分道揚鑣。在同年5月份,谷歌正式發佈了Android
2.2操作系統。谷歌將Android 2.2操作系統命名爲Froyo,翻譯完名爲凍酸奶。

2010年10月份,谷歌宣佈Android系統達到了第一個里程碑,即電子市場上獲得官方數字認證的Android應用數量已經達到了10萬個,Android系統的應用增長非常迅速。在2010年12月,谷歌正式發佈了Android
2.3操作系統Gingerbread (薑餅)。

2011年1月,谷歌稱每日的Android設備新用戶數量達到了30萬部,到2011年7月,這個數字增長到55萬部,而Android系統設備的用戶總數達到了1.35億,Android系統已經成爲智能手機領域佔有量最高的系統。

2011年8月2日,Android手機已佔據全球智能機市場48%的份額,並在亞太地區市場佔據統治地位,終結了Symbian(塞班系統)的霸主地位,躍居全球第一。

2011年9月份,Android系統的應用數目已經達到了48萬,而在智能手機市場,Android系統的佔有率已經達到了43%。繼續在排在移動操作系統首位。谷歌將會發布全新的Android
4.0操作系統,這款系統被谷歌命名爲Ice Cream Sandwich(冰激凌三明治)。

2012年1月6日,谷歌Android Market已有10萬開發者推出超過40萬活躍的應用,大多數的應用程序爲免費。Android
Market應用程序商店目錄在新年首週週末突破40萬基準,距離突破30萬應用僅4個月。在2011年早些時候,Android
Market從20萬增加到30萬應用也花了四個月。

2013年11月1日,Android4.4正式發佈,從具體功能上講,Android4.4提供了各種實用小功能,新的Android系統更智能,添加更多的Emoji表情圖案,UI的改進也更現代,如全新的HelloiOS7半透明效果。

2015年27日,網絡安全公司Zimperium研究人員警告,安卓(Android)存在“致命”安全漏洞,黑客發送一封彩信便能在用戶毫不知情的情況下完全控制手機。

2.Android系統架構

Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分爲四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。

應用程序層

Android會同一系列核心應用程序包一起發佈,該應用程序包包括客戶端,SMS短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。所有的應用程序都是使用JAVA語言編寫的。

應用程序框架層

開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發佈它的功能塊並且任何其它的應用程序都可以使用其所發佈的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。

系統運行庫層

Android 包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過 Android
應用程序框架爲開發者提供服務。以下是一些核心庫:
* 系統 C 庫 - 一個從BSD繼承來的標準C系統函數庫 Libc ), 它是專門爲基於Embedded linux的設備定製的。
* 媒體庫 - 基於PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄製,同時支持靜態圖像文件。編碼格式包括MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG 。
* Surface Manager - 對顯示子系統的管理,並且爲多個應用程序提 供了2D和3D圖層的無縫融合。
* LibWebCore - 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。

Linux內核

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 files。Android 的
Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是爲了保留常數、數據結構與宏。
Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory
Management),程序管理(Process Management),網絡堆棧(Network Stack),驅動程序模型(Driver
Model)等。下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android
用來輔助Git工作的一個工具。

3.平臺優勢

在優勢方面,Android平臺首先就是其開發性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨着用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。
開發性對於Android的發展而言,有利於積累人氣,這裏的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

總結

正是Google給我們提供了這麼便捷的平臺和開源方式,使得我們越來越多的人走向了Android開發的舞臺。在這個舞臺中,Android發展的人數也是越來越多,出現的手機品牌和版本也是越來越多,在這樣的市場競爭中,Google是如何面對未來的呢?這個我相信Google一定有自己的考慮,在這裏我也想展望下我自己從一個開發者的角度去說一下未來Android的發展之路。

三.Android的未來

1.先講一下Android手機品牌的情況,國內Android手機發展中的華爲、中興、魅族、小米、酷派等這些年來紛紛崛起。在國內深受大家的喜愛,更爲重要的是,中低端機型的出現還有山寨機的出現,更是讓android的發展迅速。
2.各種APP的迅速發展,從我個人這幾年中看到的,從我11年開始使用android手機開始,從社交軟件開始、例如當前非常火的——微信,然後到現在的生活軟件、商業市場軟件、企業管理軟件、視頻直播軟件等,這些軟件可謂是迅速發展。
3.在這些軟件的迅速發展中出現的各種android中出現的結構: a. Facebook公司使用React Native Android b.現在又要非常流行的用H5來開發Android軟件 c.在遊戲中開發更是以C和C++爲主
4.未來Android的發展 面對這個問題,我也是思量了很久,這段時間內我一直在思考,現在給出自己微不足道的見解。Android APP的發展,現在更多的是自動化的爲人服務的軟件,每一個用戶的使用,都希望自己使用的APP有着更加優美和流暢的畫面和功能體驗,面對這些問題,我們開發者應該如何面對和解決呢?對於畫面的流暢,這就需要Android開發者對於美學的要求,個人的審美不同,更應該設計出適用於大衆美感的APP,我們作爲開發者,也不能光爲了追求美而讓自己的APP使用的流暢性能上很卡頓,雖然說Android的流暢程度和自己手機的內核和cpu等有關,但是我們更應該在自己程序中減少除系統硬件影響的因素,減少OOM,減少打開應用和運行應用的卡頓現象。
如何去減少卡頓現象,相比這個問題會很困擾大家,但是我給出自己的意見。衆所周知,Android現在大多數都是用Java開發的,java運行時候要進行編譯成C語言進行運行,這個中間增加了運行編譯的時間,同時也讓我們的程序顯得很卡頓。所以,個人認爲未來的軟件開發之路中,面向底層的開發更爲重要,利用C來開發,減少系統的卡頓,這樣更能提升程序的界面流暢性。

哈哈,說了這麼多,也算是自己的隨筆和微不足道的見解,希望以後能和大家討論更加深刻的內容,現在還小,還不太懂未來,所以請大家勿笑!

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