北京Android開發(fā)培訓班哪好
146 2017-05-23
北京Android開發(fā)培訓班哪好?Android是一款基于Linux內核,面向移動終端的操作系統(tǒng)。為適應其作為移動平臺操作系統(tǒng)的特殊需要,谷歌對其做了特別的設計與優(yōu)化,使得其進程調度與資源管理與其他平臺的Linux有明顯的區(qū)別。主要包含下面幾個層次:
ApplicationFramework
ApplicationFramework將整個操作系統(tǒng)分隔成兩個部分。對應用開發(fā)者而言,所有APP都是運行在ApplicationFramework之上,而并不需要關心系統(tǒng)底層的情況。ApplicationFramework層為應用開發(fā)者提供了豐富的應用編程接口,如ActivityManager,ContentProvider,NotificationManager,以及各種窗口Widget資源等。在ApplicationFramework層,Activity是一個APP最基本的組成部分。一般每個Activity對應于屏幕上的一個視圖(或者說一屏),一個APP可以有一個或者多個Activity。應用程序被打包成.apk格式的文件,由DalvikVM解釋執(zhí)行。
DalvikVM
Dalvik虛擬機采用寄存器架構,而不是JVM的棧結構。Java程序編譯后的.class文件并不能在Dalvik中解釋執(zhí)行。因此Google提供了一個dx工具,用于將.class文件轉換成Dalivk能夠識別的.dex格式。具體DalvikVM的細節(jié)不是本文重點,以下不再討論。
Linuxkernel
由上所述,所有的APP都是由Java代碼編寫并在DalvikVM中得到解釋執(zhí)行。在Android操作系統(tǒng)中,每個DalvikVM的每個Instance都對應于Linux內核中的一個進程??梢允褂胊dbshell工具查看系統(tǒng)中的當前進程。如下圖所示,Android2.3.3啟動后內核中的進程列表。
Android操作系統(tǒng)的內存回收機制詳解
UID標識為app_xx的每一項都是一個app所占用的進程,可見Android設計使得每個應用程序由一個獨立的Dalvik實例解釋執(zhí)行,而每個Linux內核進程加載一個Dalvik實例,通過這種方式提供app的運行環(huán)境。如此,每個APP的資源被完全屏蔽,互不干擾。雖然同時引入了進程間通信的困難,但也帶來了更強的安全性。
北京Android開發(fā)培訓班哪好?本文為獨家提供!擁有全國10萬家培訓機構,您要的培訓這里都有,找培訓,上!
相關文章推薦閱讀:北京Android開發(fā)培訓班
掃一掃
獲取更多福利
獵學網(wǎng)企業(yè)微信
獵學網(wǎng)訂閱號
獵學網(wǎng)服務號