Android Studio 3.1.0 版是主要版本,其中包含多項新功能和改善項目。
核心 Android Studio IDE 已更新,可提供 IntelliJ IDEA 2017.3.3 版的改善項目,包括更優異的集合與字串控制流程分析,更精確的「是否可為空值」推論功能、新的快速修正內容等。
詳情請參閱適用於 IntelliJ IDEA 2017.2 版和 2017.3 版,以及錯誤修正更新的 JetBrains 版本資訊。
現在使用 Room 資料庫集時,您可以享有更完善的 SQL 編輯功能,例如:
- 中的程式碼完成功能能夠理解 SQL 資料表 (實體)、資料欄、查詢參數、別名、彙整、子查詢和 WITH 子句。
- SQL 語法醒目顯示功能現可正常運作。
- 您可以在 SQL 資料表名稱上按一下滑鼠右鍵並重新命名,這樣系統會一併重新編寫對應的 Java 或 Kotlin 程式碼 (包括查詢的傳回類型等)。同樣地,如果您重新命名 Java 類別或欄位,系統也會重新編寫對應的 SQL 程式碼。
- 當您使用「Find usages」(按一下滑鼠右鍵並從內容選單中選擇「Find usages」) 時,系統會顯示 SQL 使用資料。
- 如要前往 Java 或 Kotlin 程式碼中 SQL 實體的宣告內容,您可以按住 Control 鍵 (如果使用 Mac,則按住 Command 鍵) 並點選該實體。
如要進一步瞭解如何透過 Room 使用 SQL,請參閱「使用 Room 將資料儲存在本機資料庫」一文。
這項更新對資料繫結提供以下幾個改善項目:
-
您現在可以使用 物件做為資料繫結運算式中的可觀察欄位。 類別現在提供新的 方法,可用於觀測 物件。
-
類別現在可以在其建構函式中接受其他 物件。
-
您可以預覽用於資料繫結類別的全新漸進式編譯器。如要進一步瞭解這個新的編譯器和啟用操作說明,請參閱 Data Binding Compiler V2。
這個新編譯器的優點如下:
- 類別是由 Gradle 適用的 Android 外掛程式產生 (在 Java 編譯器之前)。
- 程式庫會在編譯應用程式時保留其產生的繫結類別,而不會每次重新產生。這可大幅提升多模組專案的效能。
系統現在預設會使用 D8 編譯器產生 DEX 位元碼。
這個新的 DEX 編譯器可帶來幾項好處,包括:
- 加快 DEX 處理速度
- 降低記憶體用量
- 改善程式碼產生功能 (更妥善的暫存器配置、智慧程度更高的字串資料表)
- 逐行執行程式碼時提供更優異的偵錯體驗
除非先前已手動停用 D8 編譯器,否則您不需要對程式碼或開發工作流程進行任何變更,即可享有這些好處。
如果您在 中將 設為 ,請刪除該標記或將其設為 :
詳情請參閱新的 DEX 編譯器相關說明。
如果專案使用 Java 8 語言功能,系統預設會啟用漸進式脫糖功能,藉此縮短建構時間。
脫糖程序可將轉換成有助於提高編譯器處理效率的形式。
如要停用漸進式脫糖功能,可以在專案的 檔案中指定以下內容:
「Gradle Console」已由「Build」視窗取代,該視窗提供「Sync」分頁和「Build」分頁。
想進一步瞭解如何使用經過簡化的全新「Build」視窗,請參閱「監控建構程序」相關說明。
您現在可以更有效率地執行 Gradle 同步處理和 IDE 索引建立程序,減少花在許多非必要索引建立作業上的時間。
針對 C++ 開發作業的程式設計、同步處理、建構和偵錯階段,我們做出了許多品質和效能方面的改善,包括:
-
處理大型 C++ 專案時,應會發現建構符號所需的時間已大幅縮短。此外,大型專案的同步處理作業所需時間也大幅減少。
-
透過 CMake 進行建構和同步處理時,系統會更積極重複使用快取結果,藉此提升執行效能。
-
新增適用於更多 C++ 資料結構的格式設定器 (「美化排版器」),讓 LLDB 輸出結果更容易讀取。
-
LLDB 現在只支援 Android 4.1 (API 級別 16) 以上版本。
Android Studio 3.1 版提供 Kotlin 1.2.30 版。
現在只要透過指令列執行 Lint,即可分析 Kotlin 類別。
針對要執行 Lint 的各個專案,您必須將 Google 的 Maven 存放區加入頂層 檔案。在 Android Studio 3.0 以上版本中建立的專案已納入 Maven 存放區。
CPU 分析器現在提供一項預設設定,可記錄應用程式原生執行緒的取樣追蹤記錄。如要使用這項設定,請將應用程式部署至搭載 Android 8.0 (API 級別 26) 以上版本的裝置,然後從 CPU 分析器的記錄設定下拉式選單中選取「Sampled (Native)」。之後,請照常記錄和檢查追蹤記錄。
您可以建立記錄設定,藉此變更預設設定 (例如取樣間隔)。
如要改回重新追蹤 Java 執行緒,請選取「Sampled (Java)」或「Instrumented (Java)」設定。
在 CPU 分析器的「Flame Chart」分頁中,包含搜尋查詢相關方法的呼叫堆疊會醒目顯示,並移至圖表左側。
想進一步瞭解如何依照方法、類別或套件名稱進行篩選,請參閱記錄及檢查方法追蹤記錄相關說明。
網路分析器現在包含「Request」分頁,可提供所選時間範圍內的網路要求相關詳細資料。舊版中的網路分析器只會提供網路回應相關資訊。
我們在版面配置檢查器中加入了幾項新功能,包括過去由已淘汰的階層檢視器和 Pixel Perfect 工具提供的部分功能:
- 用於瀏覽和檢查版面配置的縮放按鈕和鍵盤快速鍵
- 參照格線重疊元素
- 載入參考圖片並做為重疊元素使用的功能 (適合用來將版面配置與 UI 模擬圖進行比較)
- 顯示子樹狀結構預覽,將複雜版面配置中的特定檢視區塊分離出來
版面配置編輯器中的「Palette」有多項改善項目:
- 重新編排檢視區塊和版面配置的類別。
- 為檢視區塊和版面配置新增「Common」類別,您可使用「Favorite」指令加入這個類別。
- 改善檢視區塊和版面配置的搜尋功能。
- 新增相關指令,用於開啟特定檢視區塊或版面配置元素的說明文件。
您可以在「Component tree」或設計編輯器中使用新的「Convert view」指令,轉換檢視區塊或版面配置的類型。
我們已提升「Select deployment target」對話方塊中「Use same selection for future launches」選項的行為一致性。如果「Use same selection」選項已啟用,「Select Deployment target」對話方塊只會在您首次使用 Run 指令時開啟,直到所選裝置中斷連線為止。
如果指定搭載 Android 8.0 (API 級別 26) 以上版本的裝置,立即執行功能可將變更內容部署至資源,不會導致應用程式重新啟動。可以這麼做的原因是資源包含在分割 APK 中。
如要進一步瞭解模擬器自 Android Studio 3.0 版以來有哪些新功能和異動內容,請參閱 Android Emulator 27.0.2 版至 27.1.12 版的版本資訊。
重大改善項目包括:
- 用於儲存模擬器狀態和加快啟動速度的 Quick Boot 快照,以及使用「Save now」指令儲存自訂起始狀態的功能。
- 無視窗模擬器畫面。
- Android 8.0 (API 級別 26)、Android 8.1 (API 級別 27) 和 Android P 開發人員預覽版的系統映像檔。
我們在 Android Studio 的許多地方加入了工具提示及實用訊息重疊元素。
如要查看眾多指令的鍵盤快速鍵,只要將滑鼠游標懸停在按鈕上,直到工具提示顯示即可。
「Tools」>「Android」選單現已移除。原本列在這個選單中的指令已移到其他地方。
- 許多指令現在直接列在「Tools」選單中。
- 「Sync project with gradle files」指令已移至「File」選單。
- 「Device Monitor」指令已移除,如下文所述。
在 Android Studio 3.1 版中,裝置監控器的重要性已降低。在許多情況下,裝置監控器的可用功能現已改由全新和經過改良的工具來提供。
如要瞭解透過指令列叫用裝置監控器的方式,以及裝置監控器所提供工具的詳細資訊,請參閱裝置監控器的說明文件。