[譯]Android Studio 3.6 新特性概覽

来源:https://www.cnblogs.com/inferjay/archive/2020/02/28/12376762.html
-Advertisement-
Play Games

設計 設計編輯器 設計編輯器(比如佈局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 UI 界面的 Design 視圖和 Code 視圖。拆分視圖取代並改進了早期的預覽視窗,並且可以對每個文件進行設置,並且可以保存上下文信息,比如:縮放比例和設計視圖選項等。想要開啟拆分視圖,單擊編輯器 ...



設計

設計編輯器

設計編輯器(比如佈局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 UI 界面的 Design 視圖和 Code 視圖。拆分視圖取代並改進了早期的預覽視窗,並且可以對每個文件進行設置,並且可以保存上下文信息,比如:縮放比例和設計視圖選項等。想要開啟拆分視圖,單擊編輯器視窗右上角的拆分圖標即可。相關文檔:https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c

設計編輯器的分割視圖

顏色資源選擇器

在這個版本中,通過顏色資源選擇器可以快速的在應用程式中選擇和替換顏色資源值。在設計工具和 XML 編輯器都可以使用顏色資源選擇器。

顏色選擇器資源選項卡

開發

View binding

View binding 是一個新特性,它通過在代碼中引用視圖時提供編譯時安全性,使我們能夠更容易地編寫與視圖交互的代碼。如果啟用,視圖綁定將為模塊中的每個 XML 佈局文件生成綁定類。在大多數情況下,視圖綁定取代 findViewById 方法。我們可以在代碼中引用所有具有 ID 的 view,但不會有空指針或類強制轉換的錯誤風險。這些差異意味著佈局和代碼之間的不相容將導致編譯時而不是運行時的構建失敗。要在項目中啟用視圖綁定,請在每個模塊的 build.gradle 文件中包含以下內容:

android {
    viewBinding.enabled = true
}

一位 GDE 寫的 View binding 相關 blog:https://medium.com/google-developer-experts/exploring-view-binding-on-android-44e57ba11635

Android NDK 更新

以下 Android Studio 中的 NDK 特性,以前在 Java 中支持,現在在 Kotlin 也支持:

  • 從 JNI 聲明跳轉到 C/C++ 中相應的實現函數。通過將滑鼠懸停在源代碼文件中靠近行號的 C/C++ 項標記上來查看函數的映射
  • 為 JNI 聲明自動創建一個 stub 實現函數。首先定義 JNI 聲明,然後在 C/C++ 文件中輸入“ JNI” 或方法名稱來激活

更多詳細信息:https://developer.android.google.cn/studio/preview/features/#3.6-ndk-updates

IntelliJ Platform 更新

Android Studio 包含 IntelliJ 2019.2 版本的所有特性。 這個 IntelliJ 版本包括許多改進,從新的服務工具視窗到大大改進的啟動時間。更多詳情:https://blog.jetbrains.com/idea/2019/07/intellij-idea-2019-2-java-13-preview-features-profiling-tools-services-tool-window-and-more/

Add classes with Apply Changes

現在可以添加一個類,然後通過單擊 Apply Code ChangesApply Changes and Restart Activity 按鈕將代碼變更部署到正在運行的應用程式中。關於 Apply Cahnges 的更多詳情:https://developer.android.google.cn/studio/run#apply-changes

構建

Android Gradle 插件更新

Android Gradle 插件 3.6 以及更高版本包括對 Maven Publish Gradle 插件的支持,這個插件可以讓我們將構建產物發佈到 Apache Maven 倉庫中。Android Gradle 插件為應用程式或庫模塊中的每一個 build variant 創建一個組件,我們可以使用該組件將構建產物發佈到自定義的 Maven 倉庫中。這一變更將使我們更容易地管理各種 targets 的發佈周期。更多詳情:https://developer.android..google.cn/studio/releases/gradle-plugin#maven-publish

新的打包工具

Android 構建團隊一直在努力的改進構建性能,在這個版本中,將開發調試模式時的預設打包工具改為了 zipflinger。這樣在調試開發的時候構建速度將會有所提高,但是我們也可以在gradle.properties 文件中設置 android.useNewApkCreator=false 來改用舊的打包工具。

編輯 gradle.properties 文件以禁用新的打包工具

Test

Android 模擬器-谷歌地圖界面

Android Emulator 29.2.12 為 App 開發人員提供了一種新的操縱模擬設備位置的新方法。在擴展控制項菜單中嵌入了谷歌地圖用戶界面,方便開發人員更容易地指定位置,也可以根據兩個地點位置創建導航路線。而且單個一個位置還可以保存並重新作為虛擬位置發送到模擬器,路線導航也可以通過輸入地址或單擊兩個點來生成。這些路線導航可以可以實時回放,路線導航沿線的位置信息也會被髮回到模擬器的系統內。

帶有實時定位流的 Android 模擬器定位 UI

多個屏幕支持

Emulato 29.1.10 更新了對多個虛擬屏幕的初步支持。隨著越來越多的設備可以使用多個屏幕,在多種屏幕配置上測試你的應用程式是非常重要的。可以通過設置菜單(擴展控制項設置)配置多個屏幕。

Android 模擬器中的多顯示支持

在 Android 模擬器擴展控制項面板中配置輔助顯示

斷點續傳下載 SDK

當使用 Android Studio SDK Manager 下載 Android SDK 組件和工具時,Android Studio 現在可以繼續之前中斷的下載(例如,由於網路問題) ,而不是從頭重新下載。在網路連接不可靠的情況下,這個更新對需要下載大的 SDK 組件和工具時非常有幫助,比如 Android 模擬器或系統映像。

暫停並繼續 SDK 下載

In-place updates for imported APKs

Android Studio 允許我們導入外部構建的 APKs 來調試和分析它們。以前,當對這些 apk 進行更改時,我們必須再次手動導入它們並且需要重新添加符號表和源代碼。Android Studio 3.6 現在可以自動檢測導入的 APK 文件所做的更改,並且會提供一個重新導入該文件的選項。

Attach Kotlin sources to imported APKs

我們增加了對將 Kotlin 源文件附加到導入的 apk 的支持。 要瞭解更多信息,請參見 Attach Kotlin/Java 源代碼。

將 Kotlin/Java 源代碼附加到導入的 APKs

優化

在記憶體分析器中檢測記憶體泄漏

根據反饋,Android Studio 開發團隊在記憶體分析器中添加了檢測可能泄漏的活動和片段實例的功能。首先,在記憶體分析器中捕獲或導入堆轉儲文件,然後選中 activity/fragments Leaks 覆選框就會生成檢測結果。相關文檔:https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection

檢測記憶體分析器中泄漏的活動和片段

Deobfuscate class and method bytecode in APK Analyzer

當使用 APK 分析器檢查 DEX 文件時,現在可以對類和方法位元組碼進行去混淆處理。 在 DEX 文件查看器中,載入正在分析的 APK 的 ProGuard 映射文件。 載入後,就可以通過右鍵單擊要檢查的類或方法,然後選擇 Show Bytecode 來去除混淆。

在 APK 分析器中通過選擇 Show Bytecode 來消除類和方法位元組碼的混淆

作者:Scott Swarthout 原文地址:https://android-developers.googleblog.com/2020/02/android-studio-36.html

199元學習大禮包:點擊領取
原文地址:https://androidweekly.io
版權聲明:禁止一切形式的轉載-禁止商用-禁止衍生
公眾號:Android開發技術周刊
掃碼關註 Android 開發技術周報公眾號


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 Jprofile簡介 "官網" 下載對應的系統版本即可 性能查看工具JProfiler,可用於查看java執行效率,查看線程狀態,查看記憶體占用與記憶體對象,還可以分析dump日誌. 2 功能簡介 選擇attach to a locally running jvm 選擇需要查看運行的jvm,雙擊或者 ...
  • 一、NoSQL和關係型資料庫區別 NoSQL非關係型資料庫:Redis、MongoDB、HBase等,基於Key-Value存儲,採用命令操作。 關係型資料庫:Oracle、MySQL、DB2、SQL Server等,基於表結構存儲,採用SQL操作。 二、Redis簡介 Redis是由義大利人Sal ...
  • 前言 曾幾何時,看著高大上的架構和各位前輩高超的炫技,有沒有怦然心動,也想一窺究竟?每當面試的時候,拿著單應用的架構,吹著分庫分表的牛X,有沒有心裡慌的一批? 其實很多時候,我們所缺少的只是對高大上的技術的演練。沒有相關的業務需求,沒有集群環境,然後便只是Google幾篇博文,看下原理,便算是瞭解了 ...
  • SQLyog安裝教程 一、軟體下載 為了更好的學習,我們需要可視化界面,而不僅僅是通過命令行黑視窗管理資料庫。SQLyog 就是一個快速而簡潔的圖形化管理MYSQL資料庫的工具。 SQLyog12.08下載地址: 鏈接:https://pan.baidu.com/s/1iU6NtsthYwgx02z ...
  • Installation did not succeed. The application could not be installed: INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME Installation failed due to: 'null' ...
  • 註意:無特殊說明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 BottomNavigationBar 和 BottomNavigationBarItem配合Scaffold控制項使用可以實現底部導航效果,類似於微信底部的導 ...
  • 屬於個人所創,轉載請標明文章出處: https:////www.cnblogs.com/tangZH/p/12356915.html http://77blogs.com/?p=211 背景不多說,反正ndk載入gif比java上載入gif好很多很多,主要體現在記憶體占用與cpu消耗上。使用ndk載入 ...
  • 多線程 線程的基本概念 線程 (thread)是進程(process)A 內假想的持有 CPU 使用權的執行單位。一般情況下,一個進程 只有一個線程,但也可以創建多個線程併在進程中並行執行。應用在執行某一處理的同時,還可以 接收 GUI 的輸入。 使用多線程的程式稱為 多線程 (multithrea ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...