作為 Google 官方出版並維護的 IDE,被全球數以百萬計的 Android 開發者鍾愛並使用的開發工具,Android Studio,在前幾天的三月二號,正式迎來了 2.3 穩定版的更新。身為 Android 迷的你,趕快來和我一起看看新版 Android Studio 給我們帶來了哪些變化吧。
編譯相關
Instant Run 的改進和 UI 變化
Instant Run 基本上能夠解決中小型項目的編譯緩慢問題。作為 Google 重點關注的一個功能,Android Studio 2.3 版本在原來的基礎上再次做了優化,進一步減少安裝替換代碼的時間。同時,在 Android Studio 的導航欄上將 run 和 instant run 按鈕分開顯示,供開發者選擇調試策略。
Build Cache
編譯緩存是 Android Studio 2.2 版本被引入的的一個功能,能夠緩存項目中導入的 AAR、Libray,能夠加快調試過程中的編譯時間。新版本在此基礎上進一步優化,同時默認打開這個功能,在 2.2 版本上默認處於關閉狀態。
設計相關
約束布局中的鏈接和比例
Constraint Layout (約束布局) 想必大家有所耳聞了,但不知道是否用的習慣,目前我還沒有在項目中正式使用。不過 Google 官方對此布局方式尤為看重,這不新版 Android Studio 又來改進了。介紹改進點之前,先給大家推薦一篇「郭霖」對於約束布局的介紹,非常詳盡: Android新特性介紹,ConstraintLayout完全解析 。看完之后,保證你一定躍躍欲試。
2.3 版本的 Android Studio 支持在約束布局中使用鏈接(Chains)和比例(Ratios)。Chains 的概念大致是,在使用約束布局的 layout 中,我們可以鏈接多個控件,一起設置約束條件,比如:
Ratios 的概念也比較好理解,看圖說話:
Chains 和 Ratios 都支持動態設置,有相應的 ConstraintSet APIs 可用。
布局控件面板
如果你經常使用拖拽控件的形式設計布局的話,那這個更新點對你簡直如虎添翼。新版 Widget Palette 提供搜索、排序和過濾功能,幫助我們找到所需要的控件。同時,在你選擇拖拽之前,提供對應控件的 UI 預覽。如圖:
收藏常用屬性
在 layout design 模式下,我們可以在 Properties 面板中保存常用屬性,然后這些屬性就會出現在收藏區域,幫助我們快速使用。如圖:
支持 WebP
相比 PNG 格式的圖片,WebP 無損壓縮格式能夠減少 25% 的文件大小。在 Android Studio 2.3 版本中,我們可以自由轉換圖片格式,PNG to WebP,或者是 WebP to PNG,同時你還可以通過控制質量從而調整文件大小。如圖:
Material Icon 庫
新版的 Material Icon 矢量圖標庫支持搜索過濾功能,同時為每個 Icon 設置相應的 Label,以供搜索。一個非常人性化的改進:
開發相關
Lint 基准線
Android Lint 是優化項目必不可少的一個工具,使用中你可能會遇到這樣的問題。在此之前,每次執行 Lint 命令,該工具會自動遍歷所有的目標文件,並將不符規范的問題分類列舉出來,然后我們一一處理。但如果你沒有處理完的話,再次 Lint 時就又得從頭開始解決問題,新舊問題融合到一起。此時如果你只想處理新的問題的話,就無跡可尋。而基准線(BaseLine)的出現就能解你燃眉之急。給每一次執行 Lint 設置一個 BaseLine,讓你只想解決新 issues 的想法成為可能。
Learn more and new Lint checks & annotations
App Links 助手
在 2015 年 I/O 大會上,Google 正式宣布 Android M 系統支持 App 鏈接,在 web url 到 native app 之間建立關聯通道。比如,點擊手機短信中的 url 鏈接和瀏覽器中的某個 url 就可以打開支持 App Links 的相應 App,一個非常贊的設計。要做到這個功能,需要在項目中添加相應的設置,修改 Manifest 文件等。新版本開發工具提供了可視化的工具幫助我們進行這些設置,如:
模版更新
從 Android Studio 2.3 版本開始,新建項目時用到的所有 templates 默認使用 ConstraintLayout,而在此之前,默認都是 RelativeLayout。這一點,也再次說明約束布局的重要性。同時,新版也增加一個新的底部導航模式的模板,默認實現 Material Design 設計中的 Bottom Navigation,設計細節參考: guideline 。
IntelliJ Platform 更新
Android Studio 2.3 版本使用 IntelliJ 2016.2 release,在一些 IDE 上的更新窗口和通知系統上有所改進。
測試相關
安卓模擬器復制粘貼功能
為響應廣大開發者的需求,Google 在新版模擬器 (v25.3.1) 上實現了 PC 主機和模擬器之間的相互復制粘貼功能,主要通過共享剪貼板實現。需要注意的事,Copy & Paste 功能僅在 x86 Google API Emulator 同時 API Level 19(Android 4.4-Kitkat)和更高版本中起到作用。效果如圖:
安卓模擬器命令行工具
Android SDK Tools 25.3 開始,SDK Tools 文件夾中的 emulator 文件被轉移到一個獨立的模擬器文件夾,過去使用的 android avd
命令被廢棄和替換。如果過去你使用到有關於此的腳本文件就需要在目錄路徑上稍作改動。當然,如果使用 Android Studio 啟動模擬器的話,不受任何影響。