Android開發(fā)上有三個(gè)層次技術(shù):第一個(gè)層次和傳統(tǒng)的嵌入式Linux最接近,主要涉及的是CPU、GPU以及外設(shè)的驅(qū)動以及使能方面。多需要熟悉Linux內(nèi)核,Android框架定義中驅(qū)動的接口規(guī)范等等,這部分開源社區(qū)的力量最大。這個(gè)層次技術(shù)主要需求方是是各種CPU和Android設(shè)備解決方案供應(yīng)商。第二個(gè)層次主要是涉及Android框架中間件部分,如多媒體/3D框架,Java虛擬機(jī)等等,這部分Google控制的是最嚴(yán)格的,因?yàn)樗刂?Android各種feature以及捆綁自己的移動互聯(lián)網(wǎng)應(yīng)用,必須規(guī)范中間件。這部分所涉及的軟件技術(shù)也最多,從各種C/C++庫,Java虛擬機(jī)性 能,用戶體驗(yàn)抽象到數(shù)據(jù)庫設(shè)計(jì)等等很大的內(nèi)涵。開發(fā)的一般也是選擇一個(gè)方向發(fā)力。另外深度定制Android ROM重點(diǎn)也是這個(gè)層次。第三個(gè)層次就是App開發(fā)層次,這個(gè)層次主要就是利用Android SDK開發(fā)了。很多C/C++出身的覺得是用Java開發(fā),其實(shí)Java就是啥都是指針的C++,外帶try/catch以及垃圾收集,上手其實(shí)是很快的。Android程序最重要一點(diǎn)是理解生命周期概念,將一個(gè)Activity和Linux進(jìn)程關(guān)系搞清楚,啥時(shí)候這個(gè)進(jìn)程啟動,啥時(shí)候睡眠,啥時(shí)候退出,后臺的事件循環(huán)如何運(yùn)行的,最后時(shí)刻要提醒自己虛擬機(jī)在運(yùn)行,垃圾收集在運(yùn)行。Google Code上有還多參考代碼,在看中學(xué),體會很快的。