做者: Jamal Eason, Android 產品經理html
您是否曾但願 Android Studio 能夠速度更快、性能更優、效率更高?如是的話,請當即下載最新的 Android Studio 3.5!您將會體驗到史無前例的穩定版 Android Studio。在過去的 8 個月中,Android Studio 團隊暫緩了新特性的開發工做,專心提高 Studio 的產品質量,只爲讓您享受到速度更快的平常開發體驗!咱們把這項工做命名爲 Project Marble 計劃。該計劃圍繞系統健康、特性優化和錯誤修復三大核心領域,力圖在 Android Studio 與 Android 模擬器中構建功能強大且穩定的基礎特性與流。咱們會在 Project Marble 計劃中直接整合收到的開發者反饋,歡迎你們繼續向咱們提交反饋,分享您的想法與感覺。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。android-studio
最後,咱們還在 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 版本說明,查看完整版變動列表。固然,您也能夠先閱讀一下這篇文章或收看下方視頻,快速瞭解一下其中的若干重要變動:架構
騰訊視頻連接: v.qq.com/x/page/w091…app
Bilibili 視頻連接: www.bilibili.com/video/av657…編輯器
Project Marble 計劃中系統健康方面的改進包括: 內存性能、輸入與用戶界面凍結、構建速度、CPU 使用以及 I/O 性能。咱們針對這五點分別設計了新的監測機制,以便在開發過程當中更準確地識別問題,此外,流程上的優化也讓團隊得以更好地分析用戶反饋,從開發者自願分享的統計數據和錯誤報告中獲取更多洞見。ide
儘管系統健康的許多優化項可能並不爲你們所熟知,不過其中仍是有幾個比較明顯的變動,其中包括:工具
自動推薦內存設置佈局
在 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 共修復幾百個錯誤,並針對如下核心領域引入了若干關鍵變動:
系統健康
特性優化
更多內容,請參閱 Android Studio 版本說明,或閱讀下列與 Project Marble 計劃相關的深度學習專欄或收看 Google I/O 專題分享會:
咱們基於開發者提交的反饋與指標數據,判斷 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 或更高版本。
很是感謝你們繼續踊躍反饋,與咱們分享您的所感所想,建議與意見,或者任何您指望看到的新特性。若是您遇到任何錯誤或問題,請提交錯誤報告,或在評論區留言。
點擊這裏提交產品反饋建議