现在用户可以直接在 Android Studio 运行 Android 模拟器,该功能可以帮助开发者节省屏幕空间,使用快捷按键可以在模拟器和编辑器窗口之间快速导航,可以在一个窗口中查看模拟器和代码布局。
要了解更多信息,请参阅 Android Emulator文档:developer.android.com/studio/run/…
使用TensorFlow Lite模型
ML模型绑定可以让开发者更轻松地在项目直接导入.tflite
模型,然后 Android Studio 会生成易于使用的类,因此开发者可以用更少的代码和更好的类型安全性来运行模型。
支持机型
ML 模型绑定当前支持图像分类和样式转移模型,前提是它们通过元数据得到了增强,而随着后续的支持,ML 模型绑定将会扩展到其他领域,例如:对象检测,图像分割和文本分类。
TensorFlow Hub(tfhub.dev/android-stu… 上提供了各种带有元数据的预训练模型,开发者还可以自己将元数据添加到TensorFlow Lite 模型中,如将元数据添加到TensorFlow Lite模型中概述(www.tensorflow.org/lite/conver… )。
导入模型文件
要导入支持的模型文件,请按照下列步骤操作:
- 在
File > New > Other > TensorFlow Lite Model.
的文件菜单中打开 TensorFlow Lite模型导入对话框 。 - 选择
.tflite
模型文件。 - 点击完成。
然后模型文件就会被导入到的项目中,并将其放置在 ml/
文件夹中,如果该目录不存在,Android Studio 将为创建该目录。
查看模型元数据和使用情况
要查看导入模型的详细信息和获取有关如何在应用程序中使用它的说明,可以在项目中双击模型文件以打开模型查看器页面,该页面显示以下内容:
- 1、模型:模型的高级描述
- 2、Tensors:输入和输出 Tensors 的描述
- 3、示例代码:如何与应用程序中的模型进行交互的示例
这是使用mobilenet_v1_0.25_160_quantized.tflite
(tfhub.dev/tensorflow/…%E7%9A%84%E7%A4%BA%E4%BE%8B%EF%BC%9A)
如示例所示,Android Studio 创建了一个 MobilenetV1025160Quantized
用于与模型进行交互的类。
如果模型没有元数据,屏幕将仅提供最少的信息。
已知问题和解决方法
-
目前除了图像分类和样式转换外,对 TensorFlow Lite 模型对问题域的支持受到限制,尽管导入应该可以正常工作,但是某些模型输入和输出
TensorBuffers
并不友好,对于没有任何元数据的模型,所有模型输入和输出均为TensorBuffers
。 -
不支持输入和输出非
DataType.UINT8
或DataType.FLOAT32
的数据类型。
此功能仍在开发中,因此请提供反馈或报告错误:issuetracker.google.com/issues/new?…
本机内存探查器
Android Studio Memory Profiler 现在包括一个本机内存 Profiler,Profiler 支持用于将Android 10或更高版本的物理设备。使用本机内存探查器可以记录本机代码中的内存分配和释放,并检查有关本机对象的累积统计信息。
要了解有关本机内存探查器的更多信息,请参阅:developer.android.com/studio/prof…
per.android.com/studio/profile/memory-profiler#native-memory-profiler%E3%80%82)
已知问题和解决方法
-
Android Studio 4.1中的本机内存探查器不适用于Android 11设备,4.2预览版本中当前提供了对Android 11设备配置文件的支持。
-
从最初的4.1版本开始已禁用应用程序启动分析,未来在即将发布的版本中将启用此选项。解决方法是,可以使用 Perfetto 独立命令行分析器来捕获启动配置文件。perfetto.dev/docs/quicks…
系统跟踪用户界面:更轻松的选择新的分析选项以及更多的帧渲染数据
Android Studio探查器中的系统跟踪UI包括以下改进:
- Box selection:现在在
Threads
部分中,开着可以拖动鼠标以执行矩形区域的框选择,通过单击右上角的Zoom to Selection
按钮来放大该区域(或使用M键盘快捷键)。当开发者将相似的线程彼此相邻拖放时,可以跨多个线程进行选择以一次检查所有线程,例如可能要对多个工作线程执行分析。
-
Summary tab: “Summary” 面板中新的“Analysis”选项卡显示:
-
汇总特定事件的所有发生次数的统计信息,例如发生次数和最小/最大持续时间。
-
跟踪选定事件的事件统计信息。
-
有关线程状态分布的数据。
-
所选跟踪事件的最长运行时间。
要导航到另一个事件,请从表中选择另一行。
- Display data :在“Display”部分,SurfaceFlinger 和 VSYNC 的新时间线可以帮助开发者调查应用程序UI中的渲染问题。
有关如何记录系统跟踪的基本用法说明,请参阅“使用CPU Profiler检查CPU活动”的“ 记录跟踪”部分 。 developer.android.com/studio/prof… developer.android.com/studio/prof…
Windows用户:如果在分析应用程序时线程活动时间轴中缺少标签,请参阅 developer.android.com/studio/know… 以找到解决方法,改问题已在4.2版本中修复。
独立的探查器
使用新的独立探查器,现在可以在不运行完整的Android Studio IDE的情况下对应用程序进行探查,有关使用独立探查器的说明,请参阅“运行独立探查器”:developer.android.com/studio/prof…
Dagger navigation support
Android Studio 通过提供新的操作并扩展了“Find Usages”窗口中的支持,使在Dagger相关代码之间导航变得更加容易。
- New gutter actions :对于使用 Dagger 的项目,IDE提供了装订线操作,可帮助开发者在带Dagger 注释的代码之间导航。例如,单击图片
使用给定类型的方法旁边的装订线操作可导航到该类型的提供程序;相反单击
装订线操作会导航到将类型用作依赖项的位置。
- Find Usages node:在给定类型的提供者上调用“Find Usages ”时,“Find”窗口现在包括一个“Dependency consumer(s) ”节点,该节点列出了该类型的使用者,而对注入了Dagger的依赖项的使用者调用此操作,“Find”窗口将显示该依赖项的提供者。
Material Design Components:在新项目模板中更新了主题和样式
现在 “ Create New Project” 对话框中的 Android Studio 模板使用“ Material Design Components (MDC)”,并且默认情况下符合主题和样式的更新指南。更新包括:
-
MDC:项目依赖
com.google.android.material:material
,Base app themes 的主题使用Theme.MaterialComponents.*
的父级覆盖更新MDC颜色的属性。 -
Color resources::
colors.xml
使用文字名称的颜色资源(例如 purple_500 代替colorPrimary)。
Theme.MaterialComponents.*` 的父级覆盖更新MDC颜色的属性。
- Color resources::
colors.xml
使用文字名称的颜色资源(例如 purple_500 代替colorPrimary)。