設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 527|回復: 0
打印 上一主題 下一主題

Android studio 3.3改用新的程式碼壓縮器R8,大幅提升程式碼壓...

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2018-11-11 07:52:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Android studio 3.3改用新的程式碼壓縮器R8,大幅提升程式碼壓縮速度

Android studio 3.3已經進入Beta2階段,比起3.2版本除了新增了分析記憶體配置追蹤選項外,
Android App Bundles也開始支援Instant Apps,建置系統也做了更新,
預設使用SDK建置工具28.0.3,另外,還換掉程式碼壓縮器Proguard改使用R8。

Google持續在降低Android應用程式容量的工作上耕耘,從Android studio 3.2開始支援Android新的發布格式Android App Bundle,
讓使用者安裝應用程式,只需要下載裝置需要的部分,以大幅減少應用程式容量。
而現在Google更讓R8成為Android studio中的預設程式碼壓縮器。

程式碼壓縮可以移除未使用的程式碼和資源,以減少APK的容量,讓實際程式碼占用更少的空間,
Google提到,這是他們投放資源在程式碼縮減上的原因。
新的程式碼壓縮器R8能夠一步到位進行程式碼壓縮、脫糖(Desugaring)以及Dexing,與之前的程式碼壓縮器Proguard相比,
不只能降低輸出的大小,執行速度也更快了。

開發者現在可以在Android Studio 3.3 Beta中,讓R8搭配Proguard規則使用,
不過,也有R8與Proguard不相容的完整模式,而這將啟用更多的最佳化功能,能更進一步加速執行速度,減少更多應用程式容量。

而為了讓Android studio進行分析時,改善應用程式效能,開發者現在可以選取即時記憶體分配追蹤模式,分為完整、抽樣以及關閉三種模式,
完整模式會捕捉所有物件記憶體分配,因此當開發者的應用程式使用了許多物件,在分析時會歷經嚴重的效能問題。
而開發者可以選擇抽樣模式,以固定時間抽樣捕捉物件的記憶體分配,而這將成為目前的預設選項,也是在分析時,對應用程式效能影響較小的選項。
當然開發者也可以關閉記憶體配置,而這個選項將在進行CPU紀錄時自動啟用。

在Android Studio 3.2中開始支援的Android App Bundles,在3.3中完整支援Instant Apps,讓使用者免安裝就能直接執行應用程式,
也就是說開發者現在可以在單一Android Studio專案,同時建構安裝應用程式以及Instant Apps,並將他們包在同一個App Bundles中。

Google也更新了Android studio 3.3的建置系統,新的SDK建置工具預設更新到了28.0.3。
當使用註解處理器時,提升了增量Java編譯的效能,在包含Kotlin程式碼的專案中,預設啟用增量Java編譯,
而在只有Java的專案,當註解處理器支援增量註解處理,則預設啟用Java編譯,
但當一個以上註解處理器不支援,則不會啟用增量Java編譯。

另外,也改進了類別路徑的相依性同步,Android studio在解析Runtime和編譯時類別路徑的相依關係時,
Android Gradle外掛程式會嘗試修復多重類別路徑中的依賴關係,以解決下游版本的衝突。
Android Gradle現在也使用新的任務配置API,避免不執行的任務,在Gradle配置階段進行創建和配置產生的成本,
這使得外掛程式在建構每個模組變體時,可以減少工作量。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-16 06:16 , Processed in 0.253160 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表