热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[译]AndroidStudio3.6新特性概览

设计设计编辑器设计编辑器(比如布局编辑器和导航编辑器)现在提供了一个拆分视图模式,能够同时查看UI界面的Design视图和Code视图。拆分视图取代并改进了早期的预览窗口,并且可以

设计

设计编辑器

设计编辑器(比如布局编辑器和导航编辑器)现在提供了一个拆分视图模式,能够同时查看 UI 界面的 Design 视图和 Code 视图。拆分视图取代并改进了早期的预览窗口,并且可以对每个文件进行设置,并且可以保存上下文信息,比如:缩放比例和设计视图选项等。想要开启拆分视图,单击编辑器窗口右上角的拆分图标即可。相关文档:https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c

[译]Android  Studio 3.6 新特性概览

颜色资源选择器

在这个版本中,通过颜色资源选择器可以快速的在应用程序中选择和替换颜色资源值。在设计工具和 XML 编辑器都可以使用颜色资源选择器。

[译]Android  Studio 3.6 新特性概览

开发

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 来改用旧的打包工具。

[译]Android  Studio 3.6 新特性概览

Test

Android 模拟器-谷歌地图界面

Android Emulator 29.2.12 为 App 开发人员提供了一种新的操纵模拟设备位置的新方法。在扩展控件菜单中嵌入了谷歌地图用户界面,方便开发人员更容易地指定位置,也可以根据两个地点位置创建导航路线。而且单个一个位置还可以保存并重新作为虚拟位置发送到模拟器,路线导航也可以通过输入地址或单击两个点来生成。这些路线导航可以可以实时回放,路线导航沿线的位置信息也会被发回到模拟器的系统内。

[译]Android  Studio 3.6 新特性概览

多个屏幕支持

Emulato 29.1.10 更新了对多个虚拟屏幕的初步支持。随着越来越多的设备可以使用多个屏幕,在多种屏幕配置上测试你的应用程序是非常重要的。可以通过设置菜单(扩展控件设置)配置多个屏幕。

[译]Android  Studio 3.6 新特性概览

[译]Android  Studio 3.6 新特性概览

断点续传下载 SDK

当使用 Android Studio SDK Manager 下载 Android SDK 组件和工具时,Android Studio 现在可以继续之前中断的下载(例如,由于网络问题) ,而不是从头重新下载。在网络连接不可靠的情况下,这个更新对需要下载大的 SDK 组件和工具时非常有帮助,比如 Android 模拟器或系统映像。

[译]Android  Studio 3.6 新特性概览

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 源代码。

[译]Android  Studio 3.6 新特性概览

优化

在内存分析器中检测内存泄漏

根据反馈,Android Studio 开发团队在内存分析器中添加了检测可能泄漏的活动和片段实例的功能。首先,在内存分析器中捕获或导入堆转储文件,然后选中 activity/fragments Leaks 复选框就会生成检测结果。相关文档:https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection

[译]Android  Studio 3.6 新特性概览

Deobfuscate class and method bytecode in APK Analyzer

当使用 APK 分析器检查 DEX 文件时,现在可以对类和方法字节码进行去混淆处理。 在 DEX 文件查看器中,加载正在分析的 APK 的 ProGuard 映射文件。 加载后,就可以通过右键单击要检查的类或方法,然后选择 Show Bytecode 来去除混淆。

[译]Android  Studio 3.6 新特性概览

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

199元学习大礼包:点击领取
原文地址:https://androidweekly.io
版权声明:禁止一切形式的转载-禁止商用-禁止衍生
公众号:Android开发技术周刊
[译]Android  Studio 3.6 新特性概览


推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
author-avatar
J136271692
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有