狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Android 應用包 apk 的內(nèi)部結構詳解

admin
2013年2月25日 13:28 本文熱度 4324

Android應用程序會通過一個工具將應用所有的CLASS文件轉換成一個DEX文件,而后Dalvik虛擬機會從其中讀取指令和數(shù)據(jù)。


Android 是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng),每一個Android應用在底層都會對應一個獨立的Dalvik虛擬機實例,其代碼在虛擬機的解釋下得以執(zhí)行,這個系統(tǒng)發(fā)布后大大的方便了用戶的需求。


每一個Android 應用都運行在一個Dalvik虛擬機實例里,而每一個虛擬機實例都是一個獨立的進程空間。虛擬機的線程機制,內(nèi)存分配和管理。Mutex等等都是依賴底層操作系統(tǒng)而實現(xiàn)的。所有Android應用的線程都對應一個Linux線程,虛擬機因而可以更多的依賴操作系統(tǒng)的線程調(diào)度和管理機制。


不同的應用在不同的進程空間里運行,加之對不同來源的應用都使用不同的Linux用戶來運行,可以最大程度的保護應用的安全和獨立運行。Zygote是一個虛擬機進程,同時也是一個虛擬機實例的孵化器,每當系統(tǒng)要求執(zhí)行一個Android應用程序,Zygote就會FORK出一個子進程來執(zhí)行該應用程序。


這樣做的好處顯而易見:Zygote進程是在系統(tǒng)啟動時產(chǎn)生的,它會完成虛擬機的初始化,庫的加載,預置類庫的加載和初始化等等操作,而在系統(tǒng)需要一個新的虛擬機實例時。Zygote通過復制自身,最快速的提供個系統(tǒng)。另外,對于一些只讀的系統(tǒng)庫,所有虛擬機實例都和Zygote共享一塊內(nèi)存區(qū)域,大大節(jié)省了內(nèi)存開銷。


應用程序包(APK)被發(fā)布到手機上后,運行前會對其中的DEX文件進行優(yōu)化,優(yōu)化后的文件被保存到緩存區(qū)域(優(yōu)化后的格式被稱為DEY),虛擬機會直接執(zhí)行該文件。如果應用包文件不發(fā)生變化,DEY文件不會被重新生成。



Android應用程序所使用的編程語言是Java語言,和Java SE一樣,編譯時使用Sun JDK將Java源程序編程成標準的Java字節(jié)碼文件(.class文件)。而后通過工具軟件DX把所有的字節(jié)碼文件轉成DEX文件(classes.dex)。


該文章在 2013/2/25 13:28:28 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved