自從2011-10-19 google公司發布了android4.0版本,下載源碼後,一直沒有時間看下,正好需要看下JoyStick(遊戲手柄)架構代碼,所以兩者代碼進行對比瀏覽看看。
Android系統差不多每半年一次的升級步伐,每代Android系統都以甜點命名,
1.5版叫做Cupcake(紙杯蛋糕)
1.6版為Donut(甜甜圈)
2.0/2.1叫Éclair(閃電泡芙,一種法式奶油夾心甜點)
2.2版為Froyo(凍優酪乳)
2.3版為Gingerbread(薑餅)
3.0版叫Honeycomb(蜂窩)及
4.0版稱為Ice Cream Sandwich (冰激淩三明治)。以C
D E F G H字頭順序排列
=======================================================================================================
從網上搜到的資訊:(轉自 http://www.enet.com.cn/article/2011/1130/A20111130943222.shtml )
1.新的UI介面更加的人性化
相信關注安卓系統的朋友都看過了早些時候網上發布的Android4 .0系統介面。這次看看發布會上的照片吧。
2.新的通知系統
Android 4.0的通知系統有了很大的改進,使用者可以自己決定哪些應用可以發送通知。
Android 4.0的通知系統現在可以直接向側面滑動刪去通知條目,這樣的操作也出現在應用管理列表中。
3.語音輸入系統和臉部辨識功能
Duarte說新系統的鍵盤在錯誤修正、精度方面有了很大改進。他還示範了語音輸入系統,說“smiley face”直接在輸入框中插入一個笑臉。
4.新的安卓瀏覽器
Android 4.0的瀏覽器現在直接支援將完整網頁離線儲存。比第三方應用更好的是該功能現在與預設瀏覽器完全整合。實現即時預覽功能,單一手勢關閉所有瀏覽器標籤,快速存取台式機版網站。能夠自動與Chrome瀏覽器實現資料同步。
5.大幅強化了GMail
Android 4.0的Gmail大幅強化,瀏覽郵件時左右滑動直接切換上一封/下一封郵件。同時增加了離線搜尋功能,可訪問過去30天內收到的郵件。新的 GMail 介面,完全整合會話模式,大幅強化了GMail。
6.資料使用管理功能
Android 4.0整合的資料追蹤系統可以追蹤、分析移動資料流量,設定移動資料使用上限,它整合於系統內部,功能非常齊全,第三方的資料流量管理工具前途堪憂。
每月總是怕流量超過的朋友這回不用擔心了,流量管理工具還能具體查看每個應用產生的流量。
7.拍照模式的強化
Android 4.0所拍照片只需三次點擊就能分享到G+、Facebook、Twitter等任意SNS服務,如果國行引入的話肯定會增加人人網,新浪微博等分享。
Android 4.0新的照片應用現在可以像Instagram一樣加濾鏡,並且還能加相框、進行全景拍攝。並且相機可以識別人臉,整合 Zero Shutter 技術,快門反應極快,連拍很快。
8.新加入的people應用
People應用是通訊錄的進化,以連絡人照片為核心,介面偏重滑動而非點擊。
People應用整合了其它通訊工具,比如Twitter、Linkedin、Google+,不出意外的話還會支援自己添加第三方服務。
people應用與Gmail整合,點擊郵件裡的頭像就能彈出附有大照片的快捷連絡方式,通過Gmail、資訊、第三方服務快速聯絡對方。
9.Android Beam應用
Android Beam是基於NFC的分享方式,兩部支援NFC的Android手機背靠背碰一下就能分享機上內容。該功能還會向第三方開放。
10.其他一些功能
Android 4.0可以通過長按電源鍵和音量鍵,不再需要其它軟體。
加入新型“Roboto”字型,適用於高清顯示屏,即時牆紙功能。
=======================================================================================================
其實一句話就搞定了:Google新一代Android
4.0系統擁有全新設計的UI,介面簡化,運行速度能力提升。系統內建全新的壁紙,在使用手機上的觸摸按鈕時會出現光暈效果,並且增加了語音輸入、Face Service、相片編輯、流量監測、Android Beam功能。
三個設計準則:取悅使用者,簡化生活,與眾不同,Android4.0在設計中遵循了這樣的準則,因此是一個幅度很大的升級。
=================================================================================================================================
但對於數字電視開發人員來說,關心重點是如下幾大亮點:
1、全新設計的UI,擁有一流的新UI ,並且介面簡化,運行速度提升
2、運行速度大幅度提升
3、系統對硬體沒有要求
4、遊戲支援能力提升
它們是怎麼完成的,這些靠字面意思是搞不定的,那麼就讓我們一起來閱讀其frameworks代碼解讀一下吧,大致瞭解一下吧。
hardware 代碼: 增加了hwcomposer.h(Hints are set by the HAL and read by SurfaceFlinger);定義增加了audio及camera這塊,以前2.3是沒有這塊的;對gralloc分成gpu及fb單獨處理的模組,更清晰了。
bionic 標C代碼: 雖然有393個檔案發生變更,但主體功能上沒有變動
build 這涉及到整個android系統的編譯規則,差異達到82個檔案,沒有一個個的比較查看,後面開發編譯過程中就會涉及到
frameworks 核心架構代碼:這一塊肯定是涉及到變化最大的點,從全新設計UI這塊特性可以看出,差異檔案達到3100個檔案,並增加了9000個檔案左右,這塊變動相當大,就應該就是真正升級的核心點了。
libcore : 與媒體播放架構代碼相關,後面再深入研究一下
dalvik虛擬機器: 總共有671個檔案發生變更,這一塊的話我正在看2.3的虛擬機器設計代碼,後面再單獨寫出來
libcore : 與媒體播放架構代碼相關,後面再深入研究一下
system:其中core是關於最小化可開機環境代碼,extras是針對底層調試及檢查工具的代碼,差異檔案達到257個
prebuild: 工具鏈與以前的版本基本一致,不過ARM使用的arm-eabi-4.4.3進行了修改,具體點不得而知
external : 增加了一些開源庫代碼
對於SDK及NDK與移植無關,所以暫時沒有關注它
整個代碼量太大,從原來的2.3版本的1G左右到目前達到1.7G左右代碼,這些增加及修改的代碼夠學習很久了,最好的方式還是邊做邊看邊學吧,自然就熟悉起來了。