Android Studio 3.5: 穩步推進 Project Marble 計劃

作者: Jamal Eason, Android 產品經理

您是否曾希望 Android Studio 可以速度更快、性能更優、效率更高?如是的話,請立即下載最新的 Android Studio 3.5!您將會體驗到前所未有的穩定版 Android Studio。在過去的 8 個月中,Android Studio 團隊暫緩了新特性的開發工作,專心提升 Studio 的產品質量,只爲讓您享受到速度更快的日常開發體驗!我們把這項工作命名爲 Project Marble 計劃。該計劃圍繞系統健康、特性優化和錯誤修復三大核心領域,力圖在 Android Studio 與 Android 模擬器中構建功能強大且穩定的基礎特性與流。我們會在 Project Marble 計劃中直接整合收到的開發者反饋,歡迎大家繼續向我們提交反饋,分享您的想法與感受。

爲了提升 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 社區中的 40 位外部貢獻者,非常感謝他們一直以來的熱心奉獻,幫助團隊提交和解決 Android Studio 3.5 中的重要質量問題。儘管 Android Studio 3.5 穩定版的發佈對我們來說已經是一個里程碑,象徵着團隊爲提升 IDE 質量所付出的艱苦努力,但是我們的質量調優工作並不會止步於 Project Marble 計劃。我們希望每一位下載並使用 Android Studio 3.5 的開發者都可以享受到 Project Marble 計劃所帶來的裨益,藉助高質量產品和全新架構,顯著提升 Android 應用的開發效率。

我們在 Android Studio 3.5 中引入了許多質量變更,請參閱《Android Studio 3.5 Beta 現已發佈》或者Android Studio 版本說明,查看完整版變更列表。當然,您也可以先閱讀一下這篇文章或收看下方視頻,快速瞭解一下其中的若干重要變更:


Android Studio 3.5 重要變更說明_騰訊視頻

騰訊視頻鏈接:

https://v.qq.com/x/page/w0919w56970.html

Bilibili 視頻鏈接:

https://www.bilibili.com/video/av65716536/

系統健康

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

磁盤 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 文件。爲了支持此項變更,我們重構了整個部署管道,以此提升部署速度;與此同時,我們還微調了工具欄中的運行與部署按鈕,希望藉此爲您提供更爲精簡的開發體驗。

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

系統健康

> 內存設置

> 內存使用報告

> 減少異常

> 用戶界面凍結

> 構建速度

> IDE 速度

> Lint 代碼分析

> I/O 文件訪問

模擬器 CPU 使用

特性優化

Apply Changes 

> Gradle 同步

項目更新

佈局編輯器

數據綁定

應用部署

C++ 改進

> Intellij 2019 平臺升級

動態特性支持之條件交付

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

Chrome OS 支持

更多內容,請參閱Android Studio 版本說明,或閱讀下列與 Project Marble 計劃相關的深度學習專欄或收看 Google I/O 專題分享會:

Project Marble 計劃: Apply Changes

https://medium.com/androiddevelopers/android-studio-project-marble-apply-changes-e3048662e8cd

在 Android Studio 中加快構建速度

https://medium.com/androiddevelopers/improving-build-speed-in-android-studio-3e1425274837

Android 模擬器: Project Marble 計劃改進項

https://medium.com/androiddevelopers/android-emulator-project-marble-improvements-1175a934941e

Android Studio Project Marble 計劃: Lint 性能

https://medium.com/androiddevelopers/android-studio-project-marble-lint-performance-8baedbff2521

Android Studio Project Marble 計劃: 佈局編輯器

https://medium.com/androiddevelopers/android-studio-project-marble-layout-editor-608b6704957a

Google I/O: Marble 計劃 — Android 開發工具有哪些更新?

https://www.youtube.com/watch?v=8rfvfojtRss

自願數據分享與反饋

我們基於開發者提交的反饋與指標數據,判斷 Android Studio 中有哪些內容適用於 Project Marble 計劃,並決定具體的優化項目和實現手段。開發者可自願在 Android Studio 內勾選數據分享,收集上來的數據將幫助團隊判定產品是否含有波及全體用戶的問題,接着在此基礎上,調整功能開發工作的順序,優先解決最令用戶頭疼的問題。爲了獲取最優洞見,我們在產品整合了多種不同的反饋渠道,指標數據分享是其中最基本的一款反饋工具,您可通過以下路徑在 Android Studio 中啓用該功能 Preferences /Settings → Appearance & Behavior → Data Sharing。

不知道您今年是否留意到 IDE 右下角的用戶心情標誌。Android Studio 通過這個小小的心情標誌,瞭解用戶的使用感受,並獲取與實際用例相關的反饋。這是用戶向團隊提交錯誤報告最快的途徑。

即刻體驗

下載

請前往下載頁面,獲取 Android Studio 3.5。如果您當前正在使用舊版本的 Android Studio,請直接進行升級操作即可。

如需使用上述 Android 模擬器特性,請確保您正在運行通過 Android Studio SDK 管理器下載的 Android 模擬器 v29.1.9 或更高版本。

非常感謝大家繼續踊躍反饋,與我們分享您的所感所想,建議與意見,或者任何您期望看到的新特性。如果您遇到任何錯誤或問題,請提交錯誤報告,或在評論區留言。

點擊這裏提交產品反饋建議

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章