2016-03-01 09:49:15 1392瀏覽
在目前生活中,隨著移動互聯(lián)網(wǎng)的迅速發(fā)展,前端的概念已發(fā)生很大的變化,已不僅僅局限在網(wǎng)頁端。而Android系統(tǒng)作為智能機市場的老大,作為前端開發(fā)工程師,非常有必要了解和學(xué)習(xí),但面對眾多學(xué)習(xí)資料,站在前端開發(fā)工程師的角色,怎樣能夠快速的了解Android開發(fā)基礎(chǔ)知識呢?下面我們一起來看一下吧。
Android是基于Linux平臺的開源智能手機操作系統(tǒng)(Google為什么不另立門戶請看這里),具有強大的靈活性,可以被移植到不同的硬件平臺上(比如:手機、電視、機頂盒、嵌入式設(shè)備等),完全開放,上層的應(yīng)用程序開發(fā)完全開放給第三方應(yīng)用開發(fā)以Java語言為主,C/C++語言只在特定情況下使用。
一、coding學(xué)堂之Andriod系統(tǒng)自底向上可分為四個層:
1、內(nèi)核層:Linux內(nèi)核和設(shè)備驅(qū)動,該層與設(shè)備相關(guān),對開發(fā)者不開放。
2、模塊層:Linux庫和Dalvid虛擬機,從Linux操作系統(tǒng)的角度來看,第2層是內(nèi)核空間與用戶空間的分界線,第1層運行于內(nèi)核空間,第2、3、4層次運行于用戶空間。
3、應(yīng)用框架層:Andriod應(yīng)用管理框架和服務(wù),管理每個Android應(yīng)用的整個生命周期,從安裝到運行到卸載。
4、應(yīng)用層Android自帶以及三方的應(yīng)用程序,這里是碼農(nóng)們的角斗場,也即將是你的歸宿。簡單點說就是:Android的應(yīng)用運行在Java虛擬機Dalvik之上,即java code->class->dex(Dalvik executable)。
二、Dalvik與Java虛擬機還是有區(qū)別的:
1、Dalvik基于寄存器,而JVM基于棧。
2、Dalvik虛擬機運行的是其專有的文件格式Dex,而Java虛擬機運行java字節(jié)碼。
3、Dex文件格式可以減少整體文件尺寸,提高I/O操作的類查找速度。
4、每個APP對應(yīng)一個獨立的虛擬機實例,APP的每個線程對應(yīng)一個Linux線程。
5、有一個特殊的虛擬機進程Zygote,其是虛擬機實例的孵化器。它在系統(tǒng)啟動的時候就會產(chǎn)生,如果系統(tǒng)需要一個新的虛擬機實例,它會迅速復(fù)制自身,以最快的數(shù)據(jù)提供給系統(tǒng)。對于一些只讀的系統(tǒng)庫,所有虛擬機實例都和Zygote共享一塊內(nèi)存區(qū)域。
最后扣丁學(xué)堂對于Android開發(fā)技術(shù)而言,想要晉升大神級,需要不斷的學(xué)習(xí)和實戰(zhàn)。對于想要從零開始學(xué)Android開發(fā)的讀者可以觀看扣丁學(xué)堂Android培訓(xùn)在線視頻,完整系統(tǒng)的學(xué)習(xí)路線讓從零開始學(xué)Android開發(fā)更加輕松。
查看更多關(guān)于“Android培訓(xùn)資訊”的相關(guān)文章>>