谷歌Android Studio 3.5正式版發布: 日常開發更快速,穩步推進Project Marble計劃

2019-08-29 糖糖 中關村在線
瀏覽

據官方介紹,在過去的8個月中,Android Studio團隊暫緩了新特性的開發工作,專心提升Studio的產品質量,只為帶來速度更快的日常開發體驗,谷歌把這項工作命名為Project Marble計劃。該計劃圍繞系統健康、特性優化和錯誤修復三大核心領域,力圖在Android Studio與Android模擬器中構建功能強大且穩定的基礎特性與流。

為了提升Android Studio的系統健康,谷歌首先開發了一套全新的基礎架構和內部儀表盤,以便更好地監測系統性能問題。通過這種方法部署的安全網可以幫助成功捕捉到常規單元測試難以識別的問題。接著,團隊解決了一系列問題,其中包括:修復了600余個錯誤、50個內存泄漏以及20個IDE掛起問題,并且減緩了XML和Kotlin從輸入到被顯示的延遲現象。此外在Android模擬器方面,降低了CPU和內存對開發設備的影響。盡管Project Marble計劃的工作重心在于優化IDE和Android模擬器的系統健康,但是在計劃的實施階段,谷歌團隊還發現了幾個新的質量領域,需要團隊在未來繼續攻克。

除了內存和性能以外,團隊還投入了大量時間用以優化和修復面向開發者的若干核心特性。例如:檢查了設備上的應用部署流,對Instant Run進行了徹底重構,開發出了一款更加可靠且值得信賴的替代方案——Apply Changes。引入Apply Changes后,團隊不會再在構建時重寫你的APK文件,而是利用runtime instrumentation在運行時重新定義類。如果你想要快速編輯代碼,并查看代碼變更,請立即上手試一下Android Studio 3.5。

最后,還在Project Marble計劃期間,修復了Android Studio 3.5中的多個錯誤。

Android Studio 3.5下載:點此鏈接。

系統健康

Project Marble計劃中系統健康方面的改進包括:內存性能、輸入與用戶界面凍結、構建速度、CPU使用以及I/O性能。針對這五點分別設計了新的監測機制,以便在開發過程中更準確地識別問題,此外,流程上的優化也讓團隊得以更好地分析用戶反饋,從開發者自愿分享的統計數據和錯誤報告中獲取更多洞見。

盡管系統健康的許多優化項可能并不為大家所熟知,不過其中還是有幾個比較明顯的變更,其中包括:

自動推薦內存設置

在Android Studio 3.5中,IDE會識別出一個應用項目在RAM容量更高的機器上何時需要更多的RAM,并在通知開發者增加內存堆大小;或者您也可以在Appearance & Behavior→Memory Settings下自行調整設置。

內存設置

用戶界面凍結

在Project Marble計劃開發期間,我們在產品分析數據中發現IDE中的XML代碼編輯速度明顯較慢。我們基于這個數據點優化了XML輸入,使得Android Studio 3.5的性能表現有了極大的提升。從以下兩張圖中您可以發現,得益于輸入延遲的改進,使用XML編輯數據綁定表達式的速度明顯加快了。

改進前:在Android Studio 3.4中編輯代碼

改進后:在Android Studio 3.5中編輯代碼

構建速度

為了提高Android Studio 3.5的構建速度,我們采取了許多措施,其中最為重要的一項變更是為頂級注釋處理器添加增量構建支持,這些處理器包括Glide、AndroidX data binding、Dagger、Realm和Kotlin (KAPT)。增量支持能夠顯著提高構建速度。更多內容,請閱讀《在Android Studio中加快構建速度》。

頂級注釋處理器://developer.android.google.cn/studio/build/optimize-your-build.html#annotation_processors

磁盤I/O文件訪問速度

Android Studio的許多用戶都在使用微軟旗下的Windows系統。我們發現與其他平臺相比,Windows的磁盤I/O文件訪問耗時明顯更久。深度分析數據后,我們發現在一些殺毒程序在默認設置下,并未將Android Studio的構建輸出文件夾(build output folder)排除在掃描范圍之外。在Android Studio 3.5中,一旦系統監測到這個情況,Studio將通過彈窗引導您進行最優設置。

系統健康通知——殺毒軟件檢查

特性優化

除改善系統健康之外,還重新檢查了一些關鍵用戶流程,修復了一些錯誤以及若干導致不良用戶體驗的問題,涉及領域包括:數據綁定、布局、Chrome OS支持和項目升級,而應用部署流則是其中較為關鍵的一項改進。

Apply Changes

在Project Marble計劃期間,谷歌移除了Instant Run,然后在Android Studio 3.5中重新構建并實現了一個更加實用的替代方案,即Apply Changes。Apply Changes使用Android Oreo及以上版本中的平臺特定API來確保可靠且一致的系統行為。與Instant Run的機制不同,更改系統配置并不會重寫您的APK文件。為了支持此項變更,我們重構了整個部署管道,以此提升部署速度;與此同時,我們還微調了工具欄中的運行與部署按鈕,希望借此為您提供更為精簡的開發體驗。

Apply Changes按鈕

應用部署用戶流

Apply Changes//developer.android.google.cn/studio/run#apply-changes

總結一下,Android Studio 3.5共修復幾百個錯誤,并針對以下核心領域引入了若干關鍵變更:

系統健康

內存設置

內存使用報告

減少異常

用戶界面凍結

構建速度

IDE速度

Lint代碼分析

I/O文件訪問

模擬器CPU使用

特性優化

Apply Changes

Gradle同步

項目更新

布局編輯器

數據綁定

應用部署

C++改進

Intellij 2019平臺升級

動態特性支持之條件交付

模擬器對可折疊設備及Google Pixel設備的支持

Chrome OS支持