隨著?Android 11 開發(fā)者預覽版的發(fā)布,我們同時也推出了?Android 11 系統(tǒng)映像。新的系統(tǒng)映像在執(zhí)行 ARM 二進制文件方面取得了顯著的性能提升。此前,依賴 ARM 庫且無法構(gòu)建 x86 版本應用的開發(fā)者只能使用完整的 ARM 模擬系統(tǒng)映像 (其速度遠低于在 x86 設備上運行 x86 系統(tǒng)映像) 或者實體機谎懦。Android 11 系統(tǒng)映像能夠在不影響整個系統(tǒng)的前提下,直接將 ARM 指令轉(zhuǎn)換成 x86 指令板甘。開發(fā)者無需搭建高負載的 ARM 環(huán)境即可執(zhí)行 ARM 二進制文件并進行測試党瓮。
技術細節(jié)
我們可能需要結(jié)合具體情景來說明這項新技術的重要性盐类,尤其是如果您只使用 Kotlin 或 Java 編程語言來構(gòu)建應用的話寞奸。Kotlin 和 Java 編程語言均在 ART (Android 運行時) 上執(zhí)行,但 C++ 則與它們不同在跳,Android 應用中的所有 C++ 指令會直接編譯為機器指令枪萄,也就是說,目標設備的平臺架構(gòu)決定著 C++ 的編譯方法猫妙。移動手機一般搭載 ARM 處理器瓷翻,因此,您為應用添加的許多 C++ 依賴項 (例如攝像頭條形碼掃描庫) 僅與 ARM 處理器兼容。在這種情形下齐帚,如果您使用基于 x86 處理器的設備進行開發(fā)工作妒牙,便會遇到應用無法運行的問題。
過去对妄,開發(fā)者需要通過模擬器鏡系統(tǒng)映像搭建一個完整的 ARM 環(huán)境湘今,才能繞過這個限制并在 x86 機器上執(zhí)行 ARM 應用。但是剪菱,把整個系統(tǒng)的 ARM 指令都轉(zhuǎn)換成 x86 指令會造成過高的性能負荷摩瞎,因此與基于 x86 的系統(tǒng)映像相比,完整的 ARM 系統(tǒng)映像在 x86 宿主機上的運行速度會慢很多孝常,而且它還無法使用 x86 處理器提供的硬件加速和 CPU 虛擬化技術旗们。
全新的Android 11 系統(tǒng)映像與 ARM 兼容,它不僅允許整個系統(tǒng)在本機運行 x86 指令构灸,而且還可以照常使用虛擬化技術上渴。當應用的某個進程需要使用 ARM 二進制代碼時,代碼僅會在該進程內(nèi)被轉(zhuǎn)換成 x86 指令冻押,其余進程將繼續(xù)在 x86 環(huán)境內(nèi)執(zhí)行驰贷,包括 Android 運行時 (ART) 以及其它性能關鍵庫,例如?libGLES?和?libvulkan洛巢。除此以外,指令轉(zhuǎn)換器也不會執(zhí)行低層的硬件特定庫次兆,從而避免高成本的內(nèi)存訪問檢測和相應的性能影響稿茉。在 ARM 公司的協(xié)作下,新的模擬器系統(tǒng)映像在本地和持續(xù)集成框架內(nèi)均可運行芥炭。
下一步
如果您之前由于缺乏高性能的 ARM 支持漓库,去選擇了實體機而非模擬器,不妨嘗試一下?Android 11 系統(tǒng)映像园蝠。此映像文件目前已隨 Android 11 開發(fā)者預覽版一同開放下載渺蒿。您可通過 SDK Manager 或者Android Virtual Device Manager將最新版本的系統(tǒng)映像下載至 Android Studio。
一旦應用在模擬器中成功運行后彪薛,請考慮適配 Chrome OS茂装。Chrome OS 同樣也支持在 x86 筆記本上執(zhí)行 ARM 版本的 Android 應用。通過構(gòu)建適用于 Chrome OS 的應用善延,您可以挖掘大屏幕設備生態(tài)圈所蘊含的海量機遇少态,讓全球更多的用戶認識您的應用。
這項技術可以幫助更多開發(fā)者在 Android 模擬器上進行測試易遣。我們建議開發(fā)者同時構(gòu)建 x86 和 ARM ABI 兩個版本的應用彼妻,使其在物理設備上擁有最佳的運行性能并吸引盡可能多的用戶。接下來,我們計劃在多個 API 級別普及這項技術侨歉,同時確保它能和實體機一樣支持所有測試用例屋摇。歡迎大家向我們提交反饋,幫助我們進一步優(yōu)化這項新技術幽邓。
請注意: ARM - x86 指令轉(zhuǎn)換技術可用于執(zhí)行 ARM 公司旗下的產(chǎn)品炮温。該技術只可通過 Google API 和 Play Store 系統(tǒng)映像獲取,且僅用于在 x86 臺式機颊艳、筆記本茅特、客戶端本地服務器或自購的云環(huán)境上進行應用開發(fā)和調(diào)試。該技術不可在商用托管服務下使用棋枕。
Java 是 Oracle 和/或其附屬公司的注冊商標白修。
點擊這里進一步了解 Android 11 系統(tǒng)映像