Android Studio 4.1終於發布了!

2021-02-14 Carson帶你學習Android

近日,Android Studio 4.1 版本正式發布。

今天我們很高興地發布了穩定版的 Android Studio 4.1,其中包含針對常見的編輯、調試和優化用例的一系列特性。此版本的一大主題是幫助你在使用 Android Jetpack 庫(這是 Android 的庫套件,旨在幫助開發人員遵循最佳實踐並更快地編寫代碼)時提高工作效率。根據大家的反饋,我們對代碼編輯體驗以及流行 Android 庫的 IDE 集成做了許多改進。

Android Studio 4.1 的一些亮點包括用於查詢應用資料庫的新資料庫檢查器(Database Inspector)、支持瀏覽使用 Dagger 或 Hilt 進行依賴項注入的項目,以及對 Android 設備中 TensorFlow Lite 模型的支持和對設備端機器學習的更好支持。我們還更新了 Apply Changes 以加快部署速度。根據大家的反饋,我們進行了一些更改,用新的原生內存剖析器和獨立剖析工具來幫助遊戲開發人員。

產品質量仍然是團隊關注的重點,我們一直在努力追蹤錯誤和性能問題。許多開發人員告訴我們,他們喜歡專注於提高性能和可靠性;因此我們很高興地報告,在這個發行周期中我們修復了 2370 個錯誤,並關閉了 275 個開放問題。我們一直在努力保持高質量,因為我們知道這是提高開發人員工作效率的關鍵。

感謝那些在預覽版本中提供了早期反饋的人們。你們的反饋意見幫助我們迭代和改進了 Android Studio 4.1 中的功能。如果你已經準備好使用下一個穩定版本,並且想要使用一套新的生產力特性,就請下載 Android Studio 4.1 吧。

以下是按主要開發流程排序的 Android Studio 4.1 中新特性的完整列表。

https://youtu.be/Yhbr6u7f3ME

現在,create New Project 對話框中的 Android Studio 模板使用 Material Design Components(MDC),並且默認遵循更新的主題和樣式指南。這些更改將使用戶更容易使用推薦的 material 樣式模式,並支持深色主題等現代 UI 特性。

Project Templates 中的 MDC 更新

更新包括:

MDC:項目依賴於 build.gradle 中的 com.google.android.material:material。基本應用主題使用 Theme.MaterialComponents.* 父級,並替換了更新後的 MDC 顏色和「on」屬性。

顏色資源:colors.xml 中的顏色資源使用字面名稱(例如 purple_500 代替了 colorPrimary)。

主題資源:主題資源位於 themes.xml(而非 styles.xml)中,並使用 Theme.名稱。

黑暗主題:基本應用主題使用 DayNight 父級,並拆分為 res/values 和 res/values-night。

主題屬性:顏色資源在布局和樣式中以主題屬性的形式(例如?attr/colorPrimary)引用,以避免硬編碼顏色。

我們希望使用新的資料庫檢查器來簡化檢查、查詢和修改應用資料庫的過程。首先,將你的應用部署到運行 API 級別 26 或更高級別的設備,然後從菜單欄中選擇 View>Tool Windows>Database Inspector。無論你的應用使用 Jetpack Room 庫還是直接使用 SQLite 的 Android 平臺版本,現在都可以輕鬆地檢查正在運行的應用中的資料庫和表,或運行自定義查詢。

由於 Android Studio 在檢查應用時會保持實時連接,因此你還可以使用資料庫檢查器修改值,並在運行的應用中查看這些更改。如果你使用 Room persistence 庫,則 Android Studio 還會在代碼編輯器中的每個查詢旁邊放置運行按鈕,以幫助你快速運行在 @Query 註解中定義的查詢。更多信息見 :

https://d.android.com/studio/inspect/database

使用資料庫檢查器檢查、查詢和修改應用的資料庫

現在,你可以直接在 Android Studio 中運行 Android 模擬器。使用此功能可以節省屏幕空間、使用熱鍵在模擬器和編輯器窗口之間快速導航,以及在單個應用窗口中組織 IDE 和模擬器工作流。你可以在 Studio 中管理快照和常見的模擬器操作,例如旋轉和獲取屏幕截圖,但是要訪問全部選項,仍然需要運行穩定的模擬器。你可以轉到 File→Settings→Tools→Emulator→Launch in Tool Window 來選用此功能。

在 Android Studio 中運行 Android 模擬器

Dagger 是 Android 上用於依賴項注入的流行庫。Android Studio 提供了新的邊線操作,並擴展了 Find Usages 窗口中的支持,使用戶更容易地瀏覽 Dagger 相關的代碼。例如,單擊使用給定類型的方法旁邊的

邊線操作,會將你導航到該類型的提供方。相反,單擊

邊線操作會將你導航到將類型用作依賴項的位置。Android Studio 還支持通過 Jetpack Hilt 庫定義的依賴項的導航操作。更多信息見:

https://developer.android.com/studio/releases#dagger-navigation

使用邊線操作瀏覽與 Dagger 相關的代碼

Android 開發人員正在使用機器學習來創造創新和有用的體驗。TensorFlow Lite 是一個流行的,用於編寫移動機器學習模型的庫,我們希望讓它更容易將這些模型導入 Android 應用。與視圖綁定類似,Android Studio 生成易於使用的類,讓你可以用更少的代碼和更好的類型安全性來運行模型。ML 模型綁定的當前實現支持圖像分類和風格遷移模型,前提是它們通過元數據得到了增強。

要查看導入模型的詳細信息並獲得有關如何在應用中使用它的說明,請在項目中雙擊.tflite 模型文件以打開模型查看器頁面。更多信息見:

https://developer.android.com/studio/write/mlmodelbinding

在 Android Studio 4.1 中查看 TensorFlow Lite 模型元數據

除了最近添加了 5G 蜂窩測試支持外,我們還在 Android 模擬器中添加了可摺疊設備支持。使用 Android 模擬器 30.0.26 及更高版本,你可以配置具有多種摺疊設計和配置的可摺疊設備。配置可摺疊設備後,模擬器將發布鉸鏈角度傳感器更新和形態變化,因此你可以測試你的應用如何響應這些形狀因素。更多信息見:

https://medium.com/androiddevelopers/developing-for-android-11-with-the-android-emulator-a9486af2d7ef

更快的構建可幫助開發人員更輕鬆、更快速地更改其應用。為了在你迭代應用時提高工作效率,我們對運行 Android 11 或更高版本設備的 Apply Changes 進行了多項增強。

我們在優化迭代速度方面投入大量資源,開發了一種無需安裝應用即可在設備上部署和保留更改的方法。初始部署後,使用 Apply Code Changes 或 Apply Changes and Restart Activity 後續部署到 Android 11 設備的速度現在有了顯著提高。我們還在 Apply Changes 中添加了對額外代碼更改的支持。現在,如果你添加了一個方法,可以單擊 Apply Code Changes 或 Apply Changes and Restart Activity 將這些更改部署到正在運行的應用。

Android Gradle Plugin4.0 添加了在 AAR 依賴項中導入 Prefab 包的功能。我們希望擴展此功能的能力,以支持共享原生庫。AGP 版本 4.1 支持從 Android 庫項目的 AAR 中的外部原生構建導出庫。要導出原生庫,請將以下內容添加到庫項目的 build.gradle 文件的 android 代碼塊中:

buildFeatures {
    prefabPublishing true
}
prefab {
    mylibrary {
      headers "src/main/cpp/mylibrary/include"
    }
    myotherlibrary {
        headers "src/main/cpp/myotherlibrary/include"
    }
}

當原生代碼中發生崩潰或 ANR 時,系統會生成堆棧軌跡,這是你的程序在崩潰之前調用過的嵌套函數序列的快照。這些快照可幫助你找出並修正原始碼中的任何問題,但必須先對其進行符號化解析,以將機器地址轉換回簡單易懂的函數名稱。

如果你的應用或遊戲是使用原生代碼(如 C++)開發的,那麼你現在可以針對應用的每個版本向 Play 管理中心上傳調試符號文件。Play 管理中心會使用這些調試符號文件對應用的堆棧軌跡進行符號化解析,以便你更輕鬆地分析崩潰和 ANR。要將調試符號包含在你的應用包中,請將以下代碼行添加到項目的 build.gradle 文件中:

android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'

在 Android Studio 4.1 中,我們對 System Trace 進行了全面改革。這是一種優化工具,可讓你實時查看你的應用使用系統資源的情況。通過邊框選擇模式,我們可以更輕鬆地選擇跟蹤;我們還添加了新的分析標籤,並添加了更多的幀渲染數據,以幫助你調查應用 UI 中的渲染問題。更多信息見:

https://medium.com/androiddevelopers/whats-new-in-android-studio-system-trace-5841465c5935

邊框選擇:在 Threads 部分中,現在你可以拖動滑鼠選出一個矩形區域,然後可以點擊區域右上角的 Zoom to Selection 按鈕(或使用鍵盤快捷鍵 M)放大選中區域。當你將相似的線程拖放到一起時,可以選擇多個線程以同時檢查所有這些線程。

使用邊框選擇可以更輕鬆地選擇跟蹤。

Summary 標籤頁: Analysis 面板中新增的 Summary 標籤頁顯示以下內容:

在 Summary 標籤頁中查看匯總的統計信息

顯示數據:在 Display 部分,Surface Flinger 和 VSYNC 的新時間線可幫助你調查應用 UI 中的渲染問題。

現在可以在獨立於 Android Studio 主窗口的單獨窗口中使用 Android Studio 性能剖析器。在優化使用其他工具(如 Unity 或 Visual Studio)構建的 Android 遊戲時,此功能很有用。

要運行獨立性能剖析器,請執行以下操作:

1、確保你的系統上尚未運行 Android Studio 性能剖析器。

2、轉到安裝目錄並轉到 bin 目錄:

3、根據你的作業系統,運行 profiler.exe 或 profiler.sh

獨立性能剖析器允許你連接到 Android 模擬器或任何連接的設備。

使用獨立的 Android Studio 性能剖析器優化你的應用

對於遊戲開發人員和其他使用 C++ 的開發人員來說,要了解如何優化其應用的內存使用情況,就一定要跟蹤原生內存使用情況。Android Studio Memory Profiler 現在包括一個 Native Memory Profiler,用於部署到運行 Android 10 或更高版本物理設備的應用。這個原生內存剖析器會跟蹤特定時間段內原生代碼中對象的分配 / 取消分配,並提供有關總分配和剩餘系統堆大小的信息。

要啟動記錄過程,請單擊 Memory Profiler 窗口頂部的 Record native allocations:

使用原生內存剖析器查看原生內存分配

https://android-developers.googleblog.com/2020/10/android-studio-41.html

---END---

「Carson每天帶你學習一個Android知識點」,長按掃描關注公眾號,我們明天見哦!

最後福利:學習資料贈送福利:由本人親自撰寫 & 整理的「Android學習方法資料」參與方式:「點擊文章右下角」在看「 -> 回復截圖到公眾號 即可,我將從中隨機抽取」

相關焦點

  • Android Studio 4.1重磅發布:支持內嵌安卓模擬器!
    近日,Android Studio 4.1 版本正式發布,本文翻譯自 Android 開發者博客。今天我們很高興地發布了穩定版的 Android Studio 4.1,其中包含針對常見的編輯、調試和優化用例的一系列特性。
  • 谷歌:Android Studio 和 Gradle 插件使用全新版本編號
    IT之家12月11日消息 谷歌開發者官方博客表示,第一版 Android Studio Arctic Fox (2020.3.1) 以及 Android Gradle 插件 (AGP) 的 7.0.0-alpha01 版雙雙在 Canary 通道已正式發布。
  • 谷歌Android Studio 和 Gradle 插件使用全新版本編號
    谷歌開發者官方博客表示,第一版 Android Studio Arctic Fox (2020.3.1) 以及 Android Gradle 插件 (AGP) 的 7.0.0-alpha01 版雙雙在 Canary 通道已正式發布。
  • 開源之系統:非終端命令,Ubuntu中去官網下載安裝Android Studio
    而這次我們開始安裝Android studio用以開發Android應用APP。我們打開官網,找到下載的頁面。就能找到down Android Studio的綠色按鈕,下面是版本的字樣,機智客這裡下載的是4.1.1 for Linux 64-bit (883 MB)。然後點擊下載,彈窗一個頁面,需要閱讀並同意相關協議。同樣有一個下載按鈕,上面有:適用平臺:Linux 的字樣。
  • Android Studio 4.0更新大匯總!
    前言Android Studio 4.0終於更新了,今天為大家帶來Android Studio 4.0的全面更新內容!
  • Android Studio的一些小技巧
    這對於一些維護很久的老項目比較有用APK瘦身在Android Studio中我們可以開啟混淆,和自動刪除沒有Resources文件,來達到給APP瘦身的目的,這對於一些維護很久的老項目比較有用,裡面有很多無效的Resource, 刪除後生成的APK會小很多我們只需要在項目的build.gradle中加入android
  • xmake-gradle 插件 v1.0.7 發布,集成 xmake 快速構建 Android JNI...
    目前在 gradle 中做 android jni 相關集成開發,有兩種方式,通過 ndkBuild 或者 CMake 來支持,gradle 也內置了這兩工具的集成但是維護 Android.mk 還是非常繁瑣的,尤其是對於大型項目會比較痛苦,而 cmake 的 dsl 語法不夠簡潔直觀,我個人也不是很喜歡,因此我先前整了 xmake 來實現跨平臺開發,優勢就是: 簡單,快速
  • WSL2 編譯 Android 版本 emu-ex-plus-alpha 的 Snes9x EX+
    /studio?/EmuFramework/ && make -f android-release.mk config -j4 && make -f android-release.mk install -j4編譯 Snes9xcd $IMAGINE_PATH && cd ..
  • kotlin-android-extensions插件也被廢棄了?扶我起來
    比如說這裡有一個布局文件activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"
  • Android面試題-機型適配,例如三星、小米、華為、魅族等
    android:attrs。。。。"所有手機場景:輸入法中的emoji適配,Android4.1之前的系統不支持emoji顯示解決方案:所以對於Android4.1之前的系統,我採用了bitmap來顯示emoji。
  • 不會查看系統源碼,還搞什麼Android?
    idegen模塊編譯成功後,會在 out/host/linux-x86/framework目錄下生成idegen.jar,執行如下命令:sudo development/tools/idegen/idegen.sh這時會在源碼根目錄生成android.iml 和 android.ipr 兩個文件,這兩個文件一般是只讀模式,這裡建議改成可讀可寫
  • Android帶有粘性頭部的ScrollView
    >作者: WelliJohn  來源:51CTO博客 http://blog.51cto.com/7091572/2066690Android編程精選整理髮布:id="@+id/stick_scroll_view"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_weight="1">        <LinearLayout            android:id="@
  • 【Android】Android Support Library與androidx的映射.含CSV格式映射下載連結
    Old build artifactAndroidX build artifactandroid.arch.core:commonandroidx.arch.core:core-commonandroid.arch.core:coreandroidx.arch.core:coreandroid.arch.core:core-testingandroidx.arch.core:core-testingandroid.arch.core
  • CHENWEN studio·陳聞,SANGLUO桑羅·俞金鍵 盛澤發布
    2020盛澤時尚周| CHENWEN studio·陳聞絲情畫意,SANGLUO桑羅·俞金鍵 品真·假人生寫在前言陳聞老師是著名的金頂獎設計師,也是一名醉心於藝術繪畫的藝術大師,看陳聞老師的畫,猶如讀一本美好的書,書的封面精美絕倫,書的內頁更是優美與營養豐富。
  • Android studio打開模擬器報錯The emulator process was killed
    01主題朋友們大家好,這是義縣遊學電子科技為您提供的教程.今天帶來的文章是關於Android studio
  • Android 動畫
    ="http://schemas.android.com/apk/res/android"    // 設置動畫效果,時間插值器    android:interpolator="@android:anim/accelerate_interpolator"    // 設置下面的控制項(scale,alpha)共享一個Interpolator    android:shareInterpolator
  • android 相對布局 絕對 - CSDN
    絕對布局,例子:<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent
  • Camera360 Android版 3.0發布 新增分享盒子
    Camera360 Android版 3.0發布 新增分享盒子 在剛剛結束的Chinabang中國「邦」網際網路開放式評選活動中,經過廣大網友的熱心投票和行業知名專家的審評,Camera360獲得了
  • android之RadioButton自定義圖片
    ><selector xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:state_checked="false"android:drawable="@mipmap/sex_normal_radio" /><itemandroid:state_checked="true"android
  • Android版Instagram登陸Google Play
    Instagram for AndroidInstagram 這款 iPhone上最流行的拍照分享應用,如今這款備受Android用戶期待的應用終於在千呼萬喚中登陸Google Play應用商店。