
作為 Google 官方出版并維護(hù)的 IDE,被全球數(shù)以百萬計(jì)的 Android 開發(fā)者鐘愛并使用的開發(fā)工具,Android Studio,在前幾天的三月二號,正式迎來了 2.3 穩(wěn)定版的更新。身為 Android 迷的你,趕快來和我一起看看新版 Android Studio 給我們帶來了哪些變化吧。
編譯相關(guān)
Instant Run 的改進(jìn)和 UI 變化
Instant Run 基本上能夠解決中小型項(xiàng)目的編譯緩慢問題。作為 Google 重點(diǎn)關(guān)注的一個功能,Android Studio 2.3 版本在原來的基礎(chǔ)上再次做了優(yōu)化,進(jìn)一步減少安裝替換代碼的時間。同時,在 Android Studio 的導(dǎo)航欄上將 run 和 instant run 按鈕分開顯示,供開發(fā)者選擇調(diào)試策略。

Build Cache
編譯緩存是 Android Studio 2.2 版本被引入的的一個功能,能夠緩存項(xiàng)目中導(dǎo)入的 AAR、Libray,能夠加快調(diào)試過程中的編譯時間。新版本在此基礎(chǔ)上進(jìn)一步優(yōu)化,同時默認(rèn)打開這個功能,在 2.2 版本上默認(rèn)處于關(guān)閉狀態(tài)。
設(shè)計(jì)相關(guān)
約束布局中的鏈接和比例
Constraint Layout (約束布局) 想必大家有所耳聞了,但不知道是否用的習(xí)慣,目前我還沒有在項(xiàng)目中正式使用。不過 Google 官方對此布局方式尤為看重,這不新版 Android Studio 又來改進(jìn)了。介紹改進(jìn)點(diǎn)之前,先給大家推薦一篇「郭霖」對于約束布局的介紹,非常詳盡:Android新特性介紹,ConstraintLayout完全解析。看完之后,保證你一定躍躍欲試。
2.3 版本的 Android Studio 支持在約束布局中使用鏈接(Chains)和比例(Ratios)。Chains 的概念大致是,在使用約束布局的 layout 中,我們可以鏈接多個控件,一起設(shè)置約束條件,比如:

Ratios 的概念也比較好理解,看圖說話:

Chains 和 Ratios 都支持動態(tài)設(shè)置,有相應(yīng)的 ConstraintSet APIs 可用。
布局控件面板
如果你經(jīng)常使用拖拽控件的形式設(shè)計(jì)布局的話,那這個更新點(diǎn)對你簡直如虎添翼。新版 Widget Palette 提供搜索、排序和過濾功能,幫助我們找到所需要的控件。同時,在你選擇拖拽之前,提供對應(yīng)控件的 UI 預(yù)覽。如圖:

收藏常用屬性
在 layout design 模式下,我們可以在 Properties 面板中保存常用屬性,然后這些屬性就會出現(xiàn)在收藏區(qū)域,幫助我們快速使用。如圖:

支持 WebP
相比 PNG 格式的圖片,WebP 無損壓縮格式能夠減少 25% 的文件大小。在 Android Studio 2.3 版本中,我們可以自由轉(zhuǎn)換圖片格式,PNG to WebP,或者是 WebP to PNG,同時你還可以通過控制質(zhì)量從而調(diào)整文件大小。如圖:

Material Icon 庫
新版的 Material Icon 矢量圖標(biāo)庫支持搜索過濾功能,同時為每個 Icon 設(shè)置相應(yīng)的 Label,以供搜索。一個非常人性化的改進(jìn):

開發(fā)相關(guān)
Lint 基準(zhǔn)線
Android Lint 是優(yōu)化項(xiàng)目必不可少的一個工具,使用中你可能會遇到這樣的問題。在此之前,每次執(zhí)行 Lint 命令,該工具會自動遍歷所有的目標(biāo)文件,并將不符規(guī)范的問題分類列舉出來,然后我們一一處理。但如果你沒有處理完的話,再次 Lint 時就又得從頭開始解決問題,新舊問題融合到一起。此時如果你只想處理新的問題的話,就無跡可尋。而基準(zhǔn)線(BaseLine)的出現(xiàn)就能解你燃眉之急。給每一次執(zhí)行 Lint 設(shè)置一個 BaseLine,讓你只想解決新 issues 的想法成為可能。

Learn more and new Lint checks & annotations
App Links 助手
在 2015 年 I/O 大會上,Google 正式宣布 Android M 系統(tǒng)支持 App 鏈接,在 web url 到 native app 之間建立關(guān)聯(lián)通道。比如,點(diǎn)擊手機(jī)短信中的 url 鏈接和瀏覽器中的某個 url 就可以打開支持 App Links 的相應(yīng) App,一個非常贊的設(shè)計(jì)。要做到這個功能,需要在項(xiàng)目中添加相應(yīng)的設(shè)置,修改 Manifest 文件等。新版本開發(fā)工具提供了可視化的工具幫助我們進(jìn)行這些設(shè)置,如:

模版更新
從 Android Studio 2.3 版本開始,新建項(xiàng)目時用到的所有 templates 默認(rèn)使用 ConstraintLayout,而在此之前,默認(rèn)都是 RelativeLayout。這一點(diǎn),也再次說明約束布局的重要性。同時,新版也增加一個新的底部導(dǎo)航模式的模板,默認(rèn)實(shí)現(xiàn) Material Design 設(shè)計(jì)中的 Bottom Navigation,設(shè)計(jì)細(xì)節(jié)參考:guideline。

IntelliJ Platform 更新
Android Studio 2.3 版本使用 IntelliJ 2016.2 release,在一些 IDE 上的更新窗口和通知系統(tǒng)上有所改進(jìn)。
測試相關(guān)
安卓模擬器復(fù)制粘貼功能
為響應(yīng)廣大開發(fā)者的需求,Google 在新版模擬器 (v25.3.1) 上實(shí)現(xiàn)了 PC 主機(jī)和模擬器之間的相互復(fù)制粘貼功能,主要通過共享剪貼板實(shí)現(xiàn)。需要注意的事,Copy & Paste 功能僅在 x86 Google API Emulator 同時 API Level 19(Android 4.4-Kitkat)和更高版本中起到作用。效果如圖:

安卓模擬器命令行工具
Android SDK Tools 25.3 開始,SDK Tools 文件夾中的 emulator 文件被轉(zhuǎn)移到一個獨(dú)立的模擬器文件夾,過去使用的 android avd 命令被廢棄和替換。如果過去你使用到有關(guān)于此的腳本文件就需要在目錄路徑上稍作改動。當(dāng)然,如果使用 Android Studio 啟動模擬器的話,不受任何影響。
至此,Android Studio 2.3 版本的更新內(nèi)容介紹完畢。英文閱讀無障礙的話,也可以自備梯子,查閱 [Android Developers Blog]。