點心、MIUI、樂眾OS架構(gòu)師講Android底層故事
【TechWeb報道】7月31日消息,點心OS架構(gòu)師萬瓊柱、小米科技***架構(gòu)師汪文俊、盛大樂眾ROM架構(gòu)師郭振做客第169期IT龍門陣,講述Android底層故事。
主持人(左)與點心OS架構(gòu)師:萬瓊柱、盛大樂眾ROM架構(gòu)師:郭振、小米科技***架構(gòu)師:汪文俊
Android如何有效加載資源
點心OS架構(gòu)師萬瓊柱演講主題為《Android資源體系介紹》。“資源”是程序運營邏輯之外的其他靜態(tài)內(nèi)容。使用資源機制,可協(xié)助分離UI展現(xiàn)和應(yīng)用邏輯,使程序有更加結(jié)構(gòu),并適配不同的硬件配置等。
萬瓊柱講解,通過資源ID分段,以***的方式從資源表中執(zhí)行查找。
AAPT:圖片類已壓縮過的資源在APK中是無壓縮ZipEntry存儲的,這樣可以避免運行時每個資源0-64kb的內(nèi)存開銷,可以用最節(jié)省內(nèi)存的方式訪問,另外不需要壓縮也節(jié)省了CPU消耗。
ZipAlign:確保無壓縮的資源文件在APK內(nèi)是按4字節(jié)對齊的,可以直接被mmap到進程內(nèi)存空間,并使訪問具有***性能。
運行時:盡力通過mmap的方式控制Heap內(nèi)存消耗,緩存較小的資源到內(nèi)存中來加快訪問速度。
點心操作系統(tǒng)Web化
如何組織深度定制版android中的資源?萬瓊柱介紹了以下場景和需要解決的問題:
上層APK需要以二進制方式發(fā)布以便保護知識產(chǎn)權(quán);
上層APK存在廠商定制,需要以來平臺資源和Java庫;
上層APK成套存在,公用資源和代碼會提取進入系統(tǒng)框架;
需與多家硬件廠商并發(fā)合作,但不希望產(chǎn)生多套二進制文件;
解決方法:不允許廠商刪除Framework中的資源(合理假設(shè))、但廠商可以任意增加資源,不會妨礙預(yù)編譯的點心APP對資源ID的預(yù)期??刂瀑Y源ID的生成,參照public.xml機制,擴充AAPT的資源類型,在執(zhí)行public ID預(yù)分配后,給點心已知的所有資源ID賦值。
點心操作系統(tǒng)三年來,已從整體操作系統(tǒng)發(fā)展到操作系統(tǒng)Web化。前年,點心做整體操作系統(tǒng)。去年,點心操作系統(tǒng)應(yīng)用化,從操作系統(tǒng)發(fā)展到工具Apps集合:例如安卓優(yōu)化大師、安卓省電、點心桌面、點心撥號、點心鬧鐘等。今年和明年,實現(xiàn)操作系統(tǒng)Web化,從操作系統(tǒng)演化到Web/原生混合式Apps ,例如:點心壁紙,點心極速桌面。
應(yīng)用在模擬器上測試可覆蓋大部分的機型
現(xiàn)場有開發(fā)者提問,Android***的問題是設(shè)備型號太多,適配太困難。對于如何適配問題,小米科技***架構(gòu)師汪文俊表示,對于小米來說會尊重Google CTS,不會讓應(yīng)用為MIUI做改變。
汪文俊建議,開發(fā)者在開發(fā)應(yīng)用時,由于手機設(shè)備型號太多,無法一一去測試,一般會在模擬器上進行測試,基本可覆蓋大部分的機型。
他透露,MUI團隊最開始只有3個人,現(xiàn)在工程師70多人,加上測試 、設(shè)計,團隊成員共160個人。
樂眾ROM:打造手機娛樂平臺
盛大樂眾ROM架構(gòu)師郭振演講主題為《Android賬戶同步備份框架》。Android 從2.0之后加入了賬戶、同步、備份框架,郭振介紹了這三個框架的架構(gòu)和設(shè)計,并從系統(tǒng)開發(fā)的角度討論如何與Android的賬戶同步備份框架對接,將自己的服務(wù)集成到Android系統(tǒng)中。
對于Android碎片化問題,郭振認為Google愿意看到這種場景。“Google愿意看到Android碎片化、多元化。iPhone已是街機,但Android有很多機皇,每個廠商可以滿足用戶不同的需求。Google樂見很多互聯(lián)網(wǎng)廠商、手機廠商參與到Android發(fā)展中。”
他表示,樂眾OM依托盛大文學(xué)、視頻等資源,將打造手機娛樂平臺。目前,樂眾ROM已支持16款機型。(可心)