公众号:GSYTech
作者:恋猫 de 小郭
校对:承香墨影
Android Studio 3.6 稳定版终于来了,此版本的 Android Studio 包括对一些设计工具的更新,包括布局编辑器和资源管理器。
该版本的更新需要 Plugin 对应更新支持,比如 Dart 和 Flutter 对应的插件需要同步更新。
一、设计工具
此版本的 Android Studio 包括对一些设计工具的更新,其中包括了布局编辑器和资源管理器。
1. 拆分视图并放大设计编辑器
此版本中包含对视觉设计编辑器的以下更新:
- 设计编辑器(例如,布局编辑器和导航编辑器)现在提供一个拆分视图 的支持,可以同时查看 UI 的设计视图和代码视图。在编辑器窗口的右上角,现在有三个按钮可用于在查看选项之间切换:
- 要启用拆分视图,请单击「拆分」图标 。
- 要启用 XML 源代码视图,请单击「Source」图标
- 要启用设计视图,请单击「设计」图标
- 设计编辑器中的缩放和平移控件已移至编辑器窗口右下角的浮动面板。
2.拾色器资源选项卡
为了在使用 XML 或设计工具中的颜色选择器时可以快速更新应用程序中的颜色资源值,IDE 现在会填充颜色资源值。
3.资源管理资源管理器包含以下更新:
-
资源管理器现在支持大多数资源类型。
-
搜索资源时,资源管理器现在将显示所有项目模块的结果(以前,搜索仅从所选模块返回结果)。
-
筛选器按钮可以查看来自本地依赖模块,外部库和 Android 框架的资源也可以使用过滤器显示主题属性。
-
可以在导入过程中通过在资源上方的文本框中单击来重命名资源。
二、更新了 Android Gradle 插件
最新版本的 Android Gradle 插件包括许多更新,包括构建速度的优化,对 Maven 发布插件的支持以及对视图绑定的支持。
1. 查看绑定
视图绑定后可以通过为每个 XML 布局文件生成绑定类来更轻松地编写与视图交互的代码。这些类包含对在相应布局中具有 ID 的所有视图的直接引用。因为它替换了findViewById()
,所以视图绑定消除了因无效的视图 ID 导致空指针异常的风险。要启用视图绑定,需要使用 Android Gradle 插件 3.6.0 或更高版本,并在每个模块的build.gradle
文件中包含以下内容 :
android {
三、应用更改
现在在开发过程中可以添加一个类,然后单击"Apply Code Changes"
或"Apply Changes and Restart Activity",将该代码更改部署到正在运行的应用程序中
四、重构菜单选项以启用 Instant Apps 支持
在创建应用程序项目后立即启用基础模块,如下所示:
-
通过 从菜单栏中选择 View > Tool Windows > Project 来打开 Project 面板。
-
右键单击通常称为“应用程序”的基本模块,然后选择 Refactor > Enable Instant Apps Support。
-
在出现的对话框中,从下拉菜单中选择基本模块。
-
单击确定。
注意:从 Create New Project 向导中即时启用基本应用程序模块的选项已删除。
五、在 APK 分析器中反混淆类和方法字节码
使用APK 分析器检查 DEX 文件时,可以按以下步骤对类和方法字节码进行模糊处理:
-
从菜单栏中选择“Build > Analyze APK”。
-
在出现的对话框中,导航到要检查的 APK,然后选择它。
-
点击打开。
-
在 APK 分析器中,选择要检查的 DEX 文件。
-
在 DEX 文件查看器中,为要分析的 APK 加载 ProGuard 映射文件。
-
右键单击要检查的类或方法,然后选择 Show bytecode。
六、Native Tooling
以下更新支持 Android Studio 中的原生(C / C ++)开发。
1. Kotlin 支持
以前由 Java 支持的 Android Studio 支持的 NDK 功能,现在 Kotlin 也能够支持了:
-
从 JNI 声明导航到 C/C++ 中的相应实现函数。将鼠标悬停在托管源代码文件中行号附近的 C 或 C++ 项目标记上,可以查看此映射;
-
为 JNI 声明自动创建存根实现功能。首先定义 JNI 声明,然后在 C/C++文件中键入 “jni” 或方法名称来激活;
-
未使用的 native implementation functions 在源代码中突出显示为警告。缺少实现的 JNI 声明也将突出显示为错误;
-
重命名(重构)native implementation functions 时,所有对应的 JNI 声明都会更新。重命名 JNI 声明以更新 native implementation functions 功能;
-
对隐式绑定的 JNI 实现进行签名检查;
2. 其他 JNI 改进
Android Studio 中的代码编辑器现在支持更无缝的 JNI 开发工作流程,包括改进的类型提示,自动完成,检查和代码重构。
3. 重新加载本机库的 APK
在 IDE 外部更新项目中的 APK 时,不再需要创建新项目。Android Studio 会检测 APK 中的更改,并提供重新导入 APK 的选项。
七、Attach Kotlin-only APK Sources
现在分析和调试预建的 APK 时,可以附加仅 Kotlin 的外部 APK 源:
https://developer.android.com/studio/debug/apk-debugger#attach_java
八、内存探查器中的泄漏检测
现在,在 Memory Profiler 中分析堆转储时,可以过滤 Android Studio 认为可能表明应用程序中的内存泄漏Activity
和 Fragment
实例的性能分析数据。筛选器显示的数据类型包括:
-
Activity
实例已被销毁,但仍在引用中; -
Fragment
实例无效FragmentManager
但仍在引用中;
在某些情况下,例如以下情况,过滤器可能会产生误报:
-
A
Fragment
已创建,但尚未使用; -
一个
Fragment
被缓存,但不作为的一部分FragmentTransaction;
要使用此功能,请先捕获堆转储 或将堆转储文件 导入 Android Studio。要显示可能正在泄漏内存的碎片和活动,请在“内存探查器”的堆转储窗格中选中“活动/碎片泄漏”复选框(筛选堆转储以防止内存泄漏)。
九、模拟器
Android Studio 3.6 可以利用 Android Emulator 29.2.7 及更高版本中包含的多个更新,如下所述:
1. 改进的位置支持
Android Emulator 29.2.7 及更高版本为仿真 GPS 坐标和路线信息提供了额外的支持。当打开"模拟扩展"控件时,"位置"选项卡中的选项现在组织在两个选项卡下:"Single points"和 "Routes"。
- Siingle Point
在 "Single Point" 标签中,可以使用 Google Maps Webview 搜索感兴趣的点,就像在手机或浏览器上使用 Google Maps 一样。
搜索或单击地图中的位置时,可以通过选择地图底部附近的保存点来保存位置。所有保存的位置都列在 Extended controls 窗口的右侧。
要将“模拟器”位置设置在地图上选择的位置,请单击“Extended controls”窗口右下角附近的“Set location”按钮 。
- Routes
与 "Single Point" 标签类似,"Route" 标签提供了 Google Maps Web 视图,可用于在两个或多个位置之间创建路线。
要创建和保存路线,需执行以下操作:
- 在地图视图中,使用文本字段搜索路线中的第一个目的地;
- 从搜索结果中选择位置;
- 选择 Navigate 按钮;
-
从地图上选择路线的起点;
-
(可选)点击Add destination,将更多停靠点添加到路线中;
-
通过在地图视图中单击 Save route 来保存路线;
-
为路线指定名称,然后点击保存。要按照保存的路线模拟模拟器,请从 “Saved routes” 列表中选择路线,然后单击 “Extended controls” 窗口右下角附近的 “Play route”。要停止模拟,请点击 Stop route;
要按照指定的路径连续仿真模拟器,请启用 Repeat playback 旁边的开关。要更改仿真器遵循指定路线的速度,请从 “Playback speed” 下拉列表中选择一个选项。
2. 多显示器支持
Android 模拟器现在允许将应用程序部署到支持可自定义尺寸的多个显示器,并可以帮助测试支持多窗口和多显示器的应用程序。在虚拟设备运行时,最多可以添加两个以下显示:
- 打开 Extended controls,然后导航到 “Displays” 选项卡;
- 通过单击 Add secondary display 来添加另一个 Display;
- 在“Secondary displays” 下的下拉菜单中,执行以下一项操作;
- 选择一种预设的宽高比;
- 选择自定义并为自定义显示设置高度,宽度和 dpi;
- (可选)单击添 Add secondary display 以添加第三显示;
- 单击“Apply changes”,将指定的显示添加到正在运行的虚拟设备;
3. 适用于 Android Automotive OS 的新虚拟设备和项目模板
使用 Android Studio 创建新项目时,现在可以从 “Create New Project” 向导的“Automotive”选项卡中的三个模板中进行选择:“No Activity”,“Media service”和“Messaging service”。
对于现有项目,可以通过从菜单栏中选择 File > New > New Module,然后选择 Automotive Module 来添加对 Android Automotive 设备的支持。然后,Create New Module 向导将指导使用 Android Automotive 项目模板之一创建新模块。
此外,现在可以通过在 Virtual Device Configuration 向导的Automotive 选项卡中选择以下选项之一,为 Android Automotive OS 设备 create an Android Virtual Device (AVD)。
-
Polestar 2:创建一个模拟 Polestar 2 主机的 AVD。
-
Automotive (1024p landscape):为一般的 1024 x 768 px Android 车载主机创建一个 AVD。
十、可恢复的 SDK 下载
现在,当使用 SDK Manager 下载 SDK 组件和工具时,Android Studio 现在允许恢复被中断(例如由于网络问题)的下载,而无需从头开始重新开始下载。
当互联网连接不可靠时,此增强功能对于大型下载(例如 Android 模拟器或系统映像)特别有用。另外,如果在后台运行 SDK 下载任务,则现在可以使用状态栏中的控件暂停或继续下载。
状态栏中的后台下载任务,带有新控件,可暂停或继续下载。
十一、Win32 已弃用
Windows 32 位版本的 Android Studio 在 2019 年 12 月之后将不再获得更新,并且在 2020 年 12 月之后将不再获得支持。
开发者可以继续使用 Android Studio。但是要接收其他更新,请将工作站升级到 Windows 的 64 位版本。
十二、优化 Gradle 同步时间的新选项
在以前的版本中,Android Studio 在 Gradle Sync 期间检索了所有 Gradle 任务的列表。
对于大型项目,检索任务列表可能会导致同步时间变慢。要提高 Gradle 同步性能,请转到 File > Settings > Experimental,然后选择在 Gradle 同步期间不构建 Gradle 任务列表。
启用此选项后,Android Studio 会在同步过程中跳过构建任务列表,从而使 Gradle Sync 更快地完成并改善 UI 响应速度。
请记住,当 IDE 跳过构建任务列表时,Gradle 面板中的任务列表为空,并且构建文件中的任务名称自动完成不起作用。
十三、切换 Gradle 离线模式的新位置
要启用或禁用 Gradle 的离线模式,请首先从菜单栏中选择View > Tool Windows > Gradle。然后,在 Gradle 窗口顶部附近,点击Toggle Offline Mode :
十四、3.6 的已知问题
本部分介绍了 Android Studio 3.6 中的当前已知问题。
1. Linux 上的键映射冲突
在 Linux 上,某些键盘快捷键与默认的 Linux 键盘快捷键以及流行的窗口管理器(例如 KDE 和 GNOME)的键盘快捷键冲突。这些键盘快捷键可能无法在 Android Studio 中正常工作。
2. Chrome 操作系统上的小界面文字
在 Chrome 操作系统上,文本看起来可能比以前的版本小得多。要变通解决此问题,请执行以下操作:
- 通过单击 File > Settings 打开 Settings 窗口。
- 导航到Appearance & Behavior > Appearance。
- 选择 Use custom font。
- 增加字体大小。
- 在 Settings 窗口中,导航至 Editor > Font。
- 增加字体大小。
- 单击确定。
最后,本文对你有帮助吗?留言、点赞是最大的支持,谢谢!
即将迎来面试旺季,很多小伙伴现在都在紧张的刷题为面试做准备,这里推荐一篇面试相关的文章,其中涉及许多常问的一些面试题,结尾还有一些相关BAT面试题整理PDF分享。
有兴趣的伙伴可以看一下:
面试字节跳动Android研发岗,已拿到offer,这些知识点该放出来了
网友评论