Android Studio 3.2新功能特性
android studio3.2預覽版本已經發布了,下面這些功能在最新的版本已經提供,但可能尚未在測試版本中發布渠道中提供。
什麼是新的助理
Android Studio 3.2有一個新的Assistant面板,可以通知您有關Android Studio的最新更改。
如果檢測到有新信息要顯示,那麼當您啟動Android Studio時,該面板將打開。您還可以通過選擇Help> Android Studio中的新增功能來打開「Assistant」面板 。
Android Jetpack
Android Jetpack通過組件,工具和指導來幫助加速Android開發,消除重複性任務,並使您能夠更快,更輕鬆地構建高質量,可測試的應用程序。Android Studio包含以下更新以支持Jetpack。有關更多信息,請參閱Jetpack文檔。
導航編輯器
新的導航編輯器與Android Jetpack的導航組件集成,為創建應用的導航結構提供圖形視圖。導航編輯器簡化了應用內目的地之間導航的設計和實現。
要了解更多信息,請閱讀 導航編輯器文檔。
AndroidX重構
作為Jetpack的一部分,我們正在使用androidx命名空間將Android支持庫重構為新的Android擴展庫。有關更多信息,請閱讀 AndroidX公告。
Android Studio 3.2通過新的重構功能幫助您完成此遷移。
要將現有項目重構為AndroidX,請選擇「 Refactor」>「Refactor to AndroidX」。如果您有任何未遷移到AndroidX名稱空間的Maven依賴關係,Android Studio生成系統也會自動轉換這些項目依賴關係。
Android Gradle插件提供了您可以在gradle.properties文件中設置的以下全局標誌:
android.useAndroidX:設置true為時,此標誌表示您希望從現在開始使用AndroidX。如果該標誌不存在,Android Studio的行為就將該標誌已設置為false。
android.enableJetifier:設置true為該標誌時,表示您希望獲得工具支持(通過Android Gradle插件)自動將現有的第三方庫轉換為與AndroidX相同的庫。如果該標誌不存在,Android Studio的行為就將該標誌已設置為false。
如果您不想遷移,請將兩個標誌設置為false。(這相當於文件中沒有標誌gradle.properties。)
當您使用Refactor to AndroidX命令或創建一個minSdkVersion設置為「P」 的新項目時,這兩個標誌都會設置為true。
重要提示:在當前的Android Studio 3.2 Canary版本中,存在一個已知問題,導致在android.useAndroidX使用「 創建新項目」嚮導時不設置標誌。目前,您需要在gradle.properties文件中手動設置標誌。
如果您想立即開始使用AndroidX庫,並且不需要轉換現有的第三方庫,則可以將android.useAndroidX標誌設置 為true,並將 android.enableJetifier標誌設置為false。
Android應用程序包
Android App Bundle是一種新的上傳格式,其中包含應用程序的所有已編譯代碼和資源,但會延遲APK生成並登錄到Google Play商店。
Google Play的新應用服務模型稱為動態投放,然後使用您的應用捆綁軟體為每個用戶的設備配置生成並提供優化的APK,因此每個用戶只下載運行您的應用所需的代碼和資源。您不再需要構建,簽名和管理多個APK,並且用戶可以獲得更小,更優化的下載。
此外,您可以將動態功能模塊添加到您的應用程序項目中,並將其包含在應用程序包中。通過動態交付,用戶可以根據需要下載和安裝應用的動態功能。
要構建一個包,請選擇Build> Build Bundle(s)/ APK(s)> Build Bundle(s)。
有關更多信息(包括構建和分析Android應用程序包的說明),請參閱Android應用程序包 入門。
布局編輯器中的示例數據
許多Android布局具有運行時數據,這使得在應用程序開發的設計階段難以可視化布局的外觀和感覺。您現在可以在布局編輯器中輕鬆查看您的視圖預覽,其中包含示例數據。添加視圖時, 在「Design」窗口中的視圖下方會出現一個設置按鈕 。點擊此按鈕設置設計時視圖屬性。您可以從各種樣本數據模板中進行選擇,並指定用於填充視圖的樣本項目數。
要嘗試使用示例數據,請將其添加 RecyclerView 到新布局,單擊設計視圖下方的設計時屬性按鈕 ,然後從樣本數據模板輪播中選擇一個選擇。
Silces
Silces提供了一種將Android應用程序的部分功能嵌入到其他用戶界面表面的新方法。例如,Silces可以在Google搜索建議中顯示應用功能和內容。
Android Studio 3.2具有內置模板,可幫助您使用新的Slice Provider API擴展您的應用程序以及新的lint檢查,以確保在構建切片時遵循最佳做法。
要開始使用,請右鍵單擊項目文件夾並選擇New > Other > Slice Provider。
要了解更多信息,包括如何測試Silces交互,請閱讀Silces入門指南。
Android profilers
在最新版本的Android Studio 3.2上嘗試以下新的Android Profiler功能。
能源分析器
Energy Profiler顯示應用程序的估計能源使用情況的可視化。
當您在運行Android 8.0(API 26)或更高版本的連接設備或Android模擬器上運行應用程序時,Energy Profiler會顯示為Profiler窗口底部的新行。
點擊Energy行,最大化Energy Profiler視圖。將滑鼠指針放在時間線上的條形圖上,查看CPU,網路和位置(GPS)資源以及系統事件(如喚醒鎖,警報和作業)的能源使用情況。
Sessions
您現在可以將Profiler數據保存為「會話」以便稍後重新訪問和檢查。(分析器會保留會話數據,直到您重新啟動IDE。)
通過從主菜單中選擇Run > Profile來部署應用程序後,通過單擊+並從下拉菜單中選擇一個應用程序進程來啟動一個新的會話 。
當您 錄製方法跟蹤或 捕獲堆轉儲時,IDE會將該數據(連同您的應用的網路活動)作為單獨條目添加到當前會話中,並且您可以輕鬆地在錄製之間來回切換以比較數據。要停止向當前會話添加數據,請單擊stop。
系統跟蹤
在CPU profiler中,選擇新的 System Trace 配置以檢查設備的系統CPU和線程活動。此跟蹤配置基於 systrace 並且對於調查系統級問題(例如用戶界面異常)非常有用。
在使用這種新的跟蹤配置時,您可以通過在Trace類中安裝代碼,直觀地在Profiler時間線中標記重要的代碼常式。
檢查內存分析器中的JNI引用
如果您將應用部署到運行Android 8.0(API級別26)或更高級別的設備,則現在可以使用Memory Profiler檢查應用的JNI代碼的內存分配情況 。
在您的應用程序運行時,選擇您想要檢查的部分時間軸,然後從班級列表上方的下拉菜單中選擇 JNI heap,然後,您可以像平常一樣檢查堆中的對象,然後在「 Allocation Call Stack 」選項卡中雙擊對象以查看JNI引用在您的代碼中分配和釋放的位置。
在應用程序啟動期間記錄CPU活動
您現在可以在應用程序啟動期間記錄CPU活動:
從主菜單中選擇Run > Edit Configurations。
在所需運行配置的「Profiling」選項卡下,選中啟動時記錄方法跟蹤旁邊的複選框。
從下拉菜單中選擇要使用的CPU記錄配置。
通過選擇Run > Profile將應用程序部署到運行Android 8.0(API級別26)或更高版本的設備。
導出CPU跟蹤
在使用CPU分析器記錄CPU活動之後,可以將數據導出為.trace文件以便與其他人共享或稍後檢查。
在記錄CPU活動後導出軌跡,請執行以下操作:
右鍵單擊要從CPU時間軸導出的錄像。
從下拉菜單中選擇Export trace。
導航至要保存文件的位置,然後單擊保存。
導入並檢查CPU跟蹤文件
您現在可以導入並檢查.trace使用調試API或 CPU分析器創建的文件 。(目前,您不能導入系統跟蹤記錄。)
通過單擊Profiler的Sessions窗格中的Start new profiler session 導入您的跟蹤文件,然後選擇從Load from file。然後,您可以在CPU分析器中檢查其數據,但有一些例外情況:
CPU活動不是沿著CPU時間軸表示的。
線程活動時間線僅指示每個線程可用的跟蹤數據的位置,而不是實際的線程狀態(如正在運行,正在等待或正在休眠)。
使用調試API記錄CPU活動
您現在可以通過調試API來啟動和停止在CPU分析器中記錄CPU活動。將應用程序部署到設備後,配置程序會在應用程序調用時自動開始記錄CPU活動 startMethodTracing(String tracePath),並且配置程序在您的應用程序調用時停止記錄 stopMethodTracing()。在記錄使用此API觸發的CPU活動時,CPU分析器將調試API顯示 為選定的CPU記錄配置。
Lint檢查
Lint會檢查Java / Kotlin的互操作性
為了確保您的Java代碼與Kotlin代碼良好的互操作性,新的lint檢查會執行Kotlin Interop Guide中描述的最佳實踐 。這些檢查包括查找Nullability注釋的存在,使用Kotlin硬關鍵字,最後放置lambda參數等等。
更多新的lint檢查
除了上一節中介紹的Kotlin互操作性lint檢查之外,Android Studio 3.2還實現了20個新的lint檢查,以幫助您查找和識別常見代碼問題。這些新的檢查範圍從關於潛在可用性問題的警告到關於潛在安全漏洞的高優先順序錯誤。
新的Gradle目標
使用新的lintFixGradle任務將lint檢查建議的所有安全修復直接應用於源代碼。建議使用安全修復程序的皮棉檢查的一個示例是SyntheticAccessor。
元數據更新
各種元數據(如服務轉換檢查)已更新用於lint檢查,以與Android P Developer Preview一起使用。
如果在新變體上運行lint,則會發出警告
Lint現在記錄了一個基線記錄的變體和版本,並且如果您在與創建基線的變體不同的變體上運行它,lint會警告您。
改進現有的lint檢查
Android Studio 3.2包含對現有lint檢查的許多改進。例如,資源循環檢查現在適用於其他資源類型,並且翻譯檢測器現在可以在編輯器中即時查找缺失的翻譯。
ID更易被發現
問題ID現在顯示在更多位置,包括「Inspection Results」 窗口中,使您更容易找到啟用或禁用特定檢查lintOptions的信息build.gradle。
Data Binding V2
Data Binding V2現在默認啟用並且與V1兼容。這意味著,如果您有使用V1編譯的庫依賴項,則可以將它們與使用Data Binding V2的項目一起使用。但是請注意,使用V1的項目無法使用通過V2編譯的依賴項。
D8 desugaring
在Android Studio 3.1中,我們將Dug工具作為實驗性功能整合到了D8工具中,從而縮短了整體構建時間。現在,在Android Studio 3.2中,默認情況下會打開D8的解除綁定。
新代碼收縮器
R8是替代ProGuard的代碼縮小和混淆的新工具。您可以通過在項目gradle.properties文件中包含以下內容來開始使用R8的預覽版本:
修改了默認的abi
當建立多個APK每個目標不同的ABI,插件不再產生用於默認以下的ABI的APK: ,mips,mips64和armeabi。
如果您想構建以這些ABI為目標的APK,則必須使用 NDK r16b或更低版本,並在build.gradle文件中指定ABI ,如下所示:
改進了CMake構建文件的編輯器功能
如果您使用CMake 將C和C ++代碼添加到項目中,那麼Android Studio現在包含改進的編輯器功能,同時編輯您的CMake構建腳本,例如:
語法突出顯示和代碼完成: IDE現在突出顯示並建議通用CMake命令的代碼完成。此外,您可以通過在按下Control鍵(或MacOS上的命令)時點擊文件來導航到文件。
代碼重新格式化:您現在可以使用 IntelliJ的代碼重新格式化選項 來將代碼樣式應用於您的CMake構建腳本。
安全重構: IDE內置的重構工具現在還可以檢查您是否重命名或刪除了在CMake構建腳本中引用的文件。
瀏覽外部的頭文件
在以前版本的Android Studio中使用Project窗口時,只能瀏覽和檢查屬於您從本地項目構建的庫的頭文件。通過此版本,您現在還可以查看和檢查包含在導入到應用項目中的外部C / C ++庫依賴項的頭文件。
如果您的項目中已 包含C / C ++代碼和庫,請通過從主菜單中選擇View > Tool Windows > Projec並從下拉菜單中選擇Android,打開IDE左側的項目窗口。在cpp 目錄中,位於應用程序項目範圍內的所有頭文件都將在每個本地C / C ++庫依賴項的include節點下進行組織。
ADB連接助理
新的ADB連接助手提供分步說明以幫助您通過Android調試橋(ADB)連接設置和使用設備。
要啟動助理,請選擇Tools > Connection Assistant。
ADB連接助手在「 Assistant」面板的一系列頁面中提供說明,上下文控制以及連接設備的列表。
模擬器的改進
您現在可以隨時在Android模擬器中保存並載入AVD(Android虛擬設備)的快照,從而可以快速輕鬆地將模擬設備返回到已知狀態進行測試。當您使用AVD管理器編輯AVD時,您可以指定在AVD啟動時載入哪個AVD快照。
用於保存,載入和管理AVD快照的控制項現在位於模擬器Extended controls窗口的「 Snapshots」選項卡中。
TAG:我就是馬雲飛 |