新的 Android Studio 4.0 更換了全新的啓動界面,在今天 Google I/O 中官方發佈了 Android Studio 3.5 的 beta 版,一個月以後發佈了 Android Studio 3.6 beta 版,而最近的 Android Dev Summit 中爲咱們帶來了 Android Studio 4.0 預覽版,今天咱們就來看一下,新的 Android Studio 4.0 爲開發者帶來了哪些新體驗!java
接下來我會依據 Android Dev Summit 分享的內容以及本身的理解,爲你們介紹 Android Studio 4.0 的最新進展,沒關注的小夥伴記得關注我以及個人公衆號【Android丨Kotlin】鴨!若是以爲這些文章有點意思,記得分享轉發評論點贊鴨!markdown
新的 Build 窗口,在每一次 Build 以後,會出現一個新的 Build Speed 窗口,咱們能夠在這個窗口裏面查看在整個 Build 期間不一樣插件、不一樣任務的耗時,能夠作針對性修復。同時還會提示咱們哪些插件是每一次 Build 的時候永遠都在執行的,幫助咱們發現問題,減小沒必要要的插件執行,縮短 Build 時間。這裏面有不少分類,有興趣的同窗能夠逐個去研究。架構
在以前的文章中,我向你們分享過一些好的 Kotlin 項目,其中包括一個 Gradle 官方開源的 Koltin-DSL-sample。文章地址在這裏:Kotlin 開源項目一週精選編輯器
如今 Android Studio 4.0 完善了 Kotlin Gradle DSL 的代碼提示、在 IDE 中能夠直接查看 DSL 的文檔。咱們都知道以前默認的 Groovy 寫法中,Android Studio 會自動幫助咱們檢查現有依賴庫是否有新版本更新,如今針對 Kotlin Gradle DSL 也保留支持了這一特性。oop
在編譯方面,增長了新的 coreLibraryDesugaringEnabled true 指令,開啓這個指令,咱們可使用 Java 8 中的某些高級 API。佈局
例如上圖所示的,list.stream() 方法,默認狀況下,它只能在 API 24 以上使用,經過開啓 coreLibraryDesugaringEnabled 可以消除版本的限制,在低於 API 24 的設備上也可使用此方法。目前此指令支持 java.util.stream、java.time、java.util.function、ConcurrentHashMap 等。此功能的目的在於解決舊版本上因爲沒法使用 Java 高級 API 而產生的持續性 bug 沒法獲得修復的問題。動畫
新的 Android Studio 4.0 在編輯 ProGuard 文件時,提供的語法高亮、代碼提示和錯誤檢查,同時和 Refactor Name 的時候,ProGuard 文件中對應的字段也會及時更新。ui
新增了 viewBinding 指令,當咱們開啓設置爲 true 的時候,編譯器會爲咱們生成一個視圖綁定類,即下圖中的 ActivityMainBinding。spa
viewBinding 的目的在於確保咱們在代碼中所使用的 View 是試圖中確切存在的。防止使用findViewById 爲空引發崩潰。(不過我在 4.0 canary 1 上面沒有開啓成功,應該是還有 bug 😂)插件
目前咱們編寫 UI 有三種方式,xml、代碼編寫自定義 View、Jetpack Compose。目前這三種方式所有在 Android Studio 4.0 上支持預覽。
三者的預覽界面都是同樣的,分三種模式:編輯、預覽、編輯+預覽。別的不說自定義 View 支持預覽那真是太方便了,能極大的提高開發效率。
並且,xml 的視圖預覽中支持多種不一樣分辨率設備的同時預覽,還能夠預覽國際化時不一樣語言的排版狀況,以及色盲模式的支持。(固然後面兩項在 4.0 canary 1 中還沒出現,只是在官方演示視頻中作了講解)
還有一項很牛逼的東西,就是 Android Studio 4.0 支持嵌入式模擬器,注意上圖中的圖像界面,不是咱們第一個說的預覽界面,是真正的模擬器,左邊開發右邊調試,不再用切屏幕了。
Layout Inspector 也獲得了更新,以前的 Layout Inspector 相似於佈局快照,切換界面後,須要從新啓動 Layout Inspector 。Android Studio 4.0 中 Layout Inspector 支持實時自動更新,當咱們的設備切換頁面後,佈局分析器中的頁面也會更新,同時關於資源文件的顯示也更加完備,增長了完整調用鏈的信息展現。還有一個特牛逼的功能(劃重點了!)就是 Layout Inspector 支持 3D 模型檢查,就像下圖這樣:
雖然官方視頻中說到這些都會在 Android Studio 4.0 中出現,不過以我目前能下載到的 canary 1 版原本說,自定義 View 預覽、嵌入式模擬器、新的 Layout Inspector 都沒有找到,後續的 canary 應該會逐步支持。
有一期推送中我向你們介紹了:Android 8 種動畫你用過幾個?,最後一個就是 MotionLayout,但當時我也說了:
使用 MotionLayout 咱們須要在 xml 中自定義 MotionScene,在 MotionScene 中指定不一樣 Layout 之間的變化。
查看到官方的 Demo 以後,說實話這種動畫編寫方式仍是有些繁瑣的,還好此次 Android Studio 4.0 支持了新的動畫編輯器,讓咱們能夠經過可視化的操做,來建立 MotionLayout 動畫。
咱們能夠指定 Layout 在 start 和 end 兩個狀態下的佈局,設置動畫持續時間,點擊上方的 Transition 線,就能夠預覽動畫,是否是很是簡單!並且咱們能夠在持續時間中,任意添加關鍵幀,設置每一幀的狀態,更細小顆粒度的控制動畫效果,關鍵幀能夠設置屬性、相對位置。有了 MotionLayout 和全新的動畫編輯器,在 Android 上作動畫限制你的再也不是 API 而是你的想象力。
以上就是在本次 Android Dev Summit 中 Android Studio 最新進展的部份內容,固然在這些功能的背後,IDE 自己的內存佔用、編譯速度、都有很大的提高,否則也不會直接版本號跳躍到 4.0,想一想隔壁蘋果 Xcode 都出道 11 了,Android Studio 纔到 4.0 真是慢工出細活啊。
明天的推送中,我會爲你們帶來關於【Android 10 Scoped Storage】的最近進展,沒關注的小夥伴記得關注我以及個人公衆號【Android丨Kotlin】鴨!若是以爲這些文章有點意思,記得分享轉發評論點贊鴨!
我是 wanbo 你們加油!