IT之家10月22日消息谷歌官方表示,近期发布了AndroidStudio4。1稳定版,为大家带来一系列针对常见的编辑、调试和优化工作的功能。4。1版本的重点诉求之一是帮助您在使用AndroidJetpack库(即Android的开发库套件)时遵循最佳实践和提升代码编写效率。基于大家的反馈,直接在IDE中集成了诸多常用的Android库,从而改善了编写代码的体验。 AndroidStudio4。1:https:developer。android。google。cnstudio AndroidJetpack:https:developer。android。google。cnjetpack IT之家了解到,AndroidStudio4。1的一些亮点如下:引入全新的DatabaseInspector,用于查询应用的数据库;支持浏览使用Dagger或Hilt进行依赖项注入的项目;支持在Android项目中使用TensorFlowLite模型,进一步增强了对设备端机器学习的支持。我们还对ApplyChanges进行了更新,以加快部署速度。我们根据大家的反馈进行了一些更改,引入了新的原生内存性能分析器和独立分析工具来为游戏开发者提供助力。 Hilt:https:developer。android。google。cntrainingdependencyinjectionhiltandroid 下载AndroidStudio4。1:https:developer。android。google。cnstudio 下面按关键开发流程列出了AndroidStudio4。1中的所有新功能。 设计 MaterialDesign组件更新 现在,创建新项目(NewProject)对话框中的AndroidStudio模板使用MaterialDesign组件(MDC),并且默认支持最新版的主题和样式设计指南。如此一来,开发者可以更轻松地使用推荐的Material样式模式,以及支持现代界面功能(如深色主题)。 项目模板中的MaterialDesign组件更新更新包括: MDC:项目使用build。gradle中的com。google。android。material:material。基础应用主题使用Theme。MaterialComponents。父级,并覆盖更新后的MDC颜色和on属性。 颜色资源:colors。xml中的颜色资源使用字面名称(例如,使用purple500而不是colorPrimary)。 主题资源:主题资源位于themes。xml(而非styles。xml)中并使用Theme。lt;ApplicationNamegt;名称。 深色主题:基础应用主题使用DayNight父级,并分为resvalues和resvaluesnight。 主题属性:在布局和样式中将颜色资源称为主题属性(例如?attrcolorPrimary),以避免硬编码颜色。 开发 DatabaseInspector 我们希望借助新的DatabaseInspector来简化应用数据库的检查、查询和修改操作。首先,将您的应用部署到运行API26或更高级别的设备,然后从菜单中依次选择Viewgt;ToolWindowsgt;DatabaseInspector。无论您的应用是直接使用JetpackRoom开发库还是Android平台版本的SQLite,您现在都可以轻松检查正在运行的应用中的数据库和表,或运行自定义查询。 由于AndroidStudio在您检查应用时会保持实时连接,因此您也可以使用DatabaseInspector对数值进行修改,并在运行的应用中查看结果。如果您使用Room持久库,AndroidStudio还会在代码编辑器的每个查询旁边插入运行按钮,以帮助您快速运行在Query注解中定义的查询。 文档:使用DatabaseInspector调试数据库 https:developer。android。google。cnstudioinspectdatabase 使用DatabaseInspector检查、查询和修改应用数据库 直接在AndroidStudio中运行Android模拟器 现在,您可以直接在AndroidStudio中运行Android模拟器。此功能有助于节省屏幕空间,您可以使用热键在模拟器和编辑器窗口之间快速导航,并在一个应用窗口中组织您的IDE和模拟器工作流。您可以在Studio中管理快照以及旋转和截图等常见的模拟器操作,但要使用全部功能选项,仍然需要使用稳定的模拟器。您可以按照这个菜单路径启用此功能:FileSettingsToolsEmulatorLaunchinToolWindow。 在AndroidStudio中运行AndroidEmulator Dagger导航支持 Dagger是Android上常用的依赖项注入库。AndroidStudio提供了新的gutter操作并扩展了FindUsages窗口中的支持,使得在Dagger相关代码之间导航更加简单。例如,点击使用给定类型的方法旁边的gutter操作,会将您导航到提供该类型的位置。相反,点击gutter操作会将您导航到将类型用作依赖项的位置。AndroidStudio还支持对使用JetpackHilt库定义的依赖项执行导航操作。 Dagger:https:developer。android。google。cntrainingdependencyinjectiondaggerbasics Hilt:https:developer。android。google。cntrainingdependencyinjectionhiltandroid 文档:Dagger导航支持https:developer。android。google。cnstudioreleasesdaggernavigation 使用gutter操作在Dagger相关代码之间导航 使用TensorFlowLite模型 目前,Android开发者纷纷利用机器学习来打造新颖、实用的体验。TensorFlowLite是常见的用于编写移动端机器学习模型的开发库,我们希望简化将这些模型导入Android应用的过程。与视图绑定类似,AndroidStudio会生成易于使用的类,帮助您精简运行模型所需的代码并提升类型安全性。MLModelBinding(ML模型绑定)当前的实现支持图像分类和风格转换模型,前提是它们通过元数据得到了增强。 实用创新体验:https:developer。android。google。cnhelpfulinnovation TensorFlowLite:https:www。tensorflow。orglite 要查看导入模型的详细信息以及如何在应用中使用,请双击项目中的。tflite模型文件以打开模型查看器页面。 文档:使用TensorFlowLite模型https:developer。android。google。cnstudiowritemlmodelbinding 在AndroidStudio4。1中查看TensorFlowLite模型元数据 构建和测试 Android模拟器可折叠设备铰链信息支持 AndroidStudio 除了最近新增的5G移动网络测试功能,我们还在Android模拟器中增加了对可折叠设备的支持。在Android模拟器30。0。26及更高版本中,您可以使用多种折叠设计和配置对可折叠设备进行设置。设置完毕后,模拟器将提供铰链角度传感器和姿态变化信息,方便您测试应用在这些机型上的响应情况。 针对5G的模拟器支持https:developer。android。google。cnaboutversions11behaviorchangesallemulator5g 使用Android模拟器在Android11上进行开发https:medium。comandroiddevelopersdevelopingforandroid11withtheandroidemulatora9486af2d7ef ApplyChanges更新 更快的构建有助于开发者更轻松、快速地更改应用。为了帮助您提高应用迭代效率,我们对Android11或更高版本设备的ApplyChanges进行了多项增强。 我们在优化迭代速度上进行了大力投入,开发出一种无需安装应用即可在设备上部署和保存更改的方法。现在,在完成初始部署后,通过ApplyCodeChanges或ApplyChangesandRestartActivity对Android11设备进行后续部署的速度大幅提升。我们还在ApplyChanges中增加了对其他代码更改的支持。现在,在您添加一个方法后,可点击ApplyCodeChanges或ApplyChangesandRestartActivity按钮将这些更改部署到正在运行的应用中。 结构化类重定义与ApplyChangeshttps:medium。comandroiddevelopersstructuralclassredefinitionandapplychanges30f96f1962e6 从AAR中导出CC依赖项 AndroidGradlePlugin4。0增加了在AAR依赖项中导入Prefab软件包的功能。我们希望扩展此功能以共享原生库。AGP4。1支持在Android库项目的AAR中从外部原生构建中导出库。要导出原生库,请将以下内容添加到库项目build。gradle文件的android块中: 使用原生依赖https:developer。android。google。cnstudiobuildnativedependenciesbuildFeatures{prefabPublishingtrue}prefab{mylibrary{headerssrcmaincppmylibraryinclude}myotherlibrary{headerssrcmaincppmyotherlibraryinclude}} 原生代码崩溃报告符号化解析 当原生代码发生崩溃或ANR时,系统会生成堆栈轨迹,即程序崩溃前所调用的嵌套函数序列的快照。这些快照可以帮助您识别和修复源代码中的问题,但是必须首先将它们符号化,以将计算机地址转换回人类可读的函数名。 如果您的应用或游戏是使用C之类的原生代码开发的,那么您现在可以将每个版本应用的调试符号文件上传到Play管理中心。Play管理中心使用这些调试符号文件来符号化您应用的堆栈轨迹,从而简化崩溃和ANR分析。如果要将调试符号包含在AppBundle中,请将下方内容添加到项目的build。gradle文件中: android。buildTypes。release。ndk。debugSymbolLevel39;SYMBOLTABLE39; 优化 SystemTrace界面改进 在AndroidStudio4。1中,我们对SystemTrace进行了全面改进,该优化工具可让您实时了解应用对系统资源的使用情况。通过框选模式还可以更轻松地选择跟踪记录,此外,我们还添加了新的分析标签页,并添加了更多的帧渲染数据,以帮助您调查应用界面中的渲染问题。 SystemTracehttps:developer。android。google。cntopicperformancetracing 文档:AndroidStudioSystemTrance更新https:medium。comandroiddeveloperswhatsnewinandroidstudiosystemtrace5841465c5935 框选:在Threads部分中,您现在可以拖动鼠标来框选一个矩形区域,并点击右上角的ZoomtoSelection按钮(或使用键盘快捷键M)来放大该区域。当您将相似的线程拖放到一起后,可以跨多个线程进行框选以同时检查所有线程。 使用框选模式可以更轻松地选择跟踪记录Summary选项卡:Analysis面板中全新的Summary选项卡会显示以下内容: 特定事件的所有实例的汇总统计信息,例如实例计数和最小最大持续时间。 选定实例的跟踪事件统计信息。 有关线程状态分布的数据。 所选跟踪事件内运行时间最长的实例。 在Summary选项卡中查看汇总统计信息 显示数据:在Display部分,SurfaceFlinger和VSYNC的新时间轴可帮助您调查应用界面中的渲染问题。 SurfaceFlingehttps:source。android。google。cndevicesgraphicssurfaceflingerwindowmanager VSYNChttps:source。android。google。cndevicesgraphicsimplementvsync 独立分析器 现在可以在独立于AndroidStudio主窗口的单独窗口中访问AndroidStudio分析器。在优化使用其他工具(如Unity或VisualStudio)构建的Android游戏时,此功能十分有用。 要运行独立分析器,请执行以下操作: 1。确保您的系统现在没有运行AndroidStudio中的分析器。 2。转到安装目录并导航到bin目录:WindowsLinux:lt;studioinstallationfoldergt;binmacOS:lt;studioinstallationfoldergt;Contentsbin 3。根据您的操作系统,运行profiler。exe或profiler。sh 独立分析器可连接到AndroidEmulator或其他已连接的设备上。 使用独立AndroidStudio分析器优化您的应用 原生内存性能分析器 跟踪原生内存的使用情况对于游戏开发者和其他使用C的开发者十分重要,他们可以据此优化其应用的内存使用。AndroidStudio内存性能分析器(MemoryProfiler)现在包含一个原生内存性能分析器(NativeMemoryProfiler),专门用于运行在Android10或更高版本的实体设备上的应用。原生内存性能分析器可以跟踪特定时间段内原生代码中对象的分配销毁情况,并提供内存总体分配和系统堆剩余大小的信息。 要启动记录,请点击MemoryProfiler窗口顶部的Recordnativeallocations: 使用原生内存性能剖析器查看原生内存分配情况 总结 简要回顾一下,AndroidStudio4。1包括以下新增及改进功能: 设计 MaterialDesign组件更新 开发 DatabaseInspector 直接在AndroidStudio中运行Android模拟器 Dagger导航支持 使用TensorFlowLite模型 构建和测试 Android模拟器可折叠设备铰链信息支持 ApplyChanges更新 从AAR中导出CC依赖项 原生代码崩溃报告符号化解析 优化 SystemTrace界面改进 独立分析器 原生内存性能分析器