2009-01-12

Android: An Overview

最近開始看了一些有關Android的材料,希望能在理頭找到一些研究的相關材料。從2007年底推出到現在,也有相當時日了,網路上介紹架構的文章並不難找,我大致上從mmdays.com的Android 淺探(一)Android 淺探(二)這兩篇入手去看;這兩篇出步說明了Google另外實作一個變形的Java VM, Dalvik的緣故,以及底層爲什麼選擇了Linux.

大致上整理出幾項要點:
  1. 根據統計,Java是現在最常被使用的程式語言,使用Java VM可以方便程式人員進入開發各種applications. (see also: TIOBE Programming Community Index)
  2. VM該提供哪些系統函式庫,在標準的Java VM裡,控制權掌握在SUN手上。
  3. Dalvik針對執行時所需的memory footprint作最佳化。
  4. Linux可方便硬體廠商開發驅動,但opensource並不見得與公司利益相符,所以需要修該原先的kernel把device driver拉到userspace去執行。
  5. 針對kernel層的IPC, Power Management, RAM console等作了最佳化。
大致上看來Android提出的架構跟framework比起其他像是openmoko或OpenMax都來得完整,往後如果有其他聯盟想提類似的open mobile platform很難不把這些也都列入考量。(採用RIA, Rich Interactivce Application, 而不考量general purposed的架構像是 JavaFX, Flex等可能是另一種思考方向。)

相關值得看看的連結還有:

沒有留言: