作為 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 啟動模擬器的話,不受任何影響。
至此,Android Studio 2.3 版本的更新內容介紹完畢。英文閱讀無障礙的話,也可以自備梯子,查閱 [Android Developers Blog]。
歡迎關注我的微信公眾號
安卓筆記俠:專注 於Android 開發。