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