安卓调试/测试-AS(android studio)——工具篇之Android Monitors

来源:互联网 发布:北大青鸟编程v5 编辑:程序博客网 时间:2024/06/07 05:14

前言:你可以不会调试优化内存和cpu占用,但截图,录屏你要还拿手机折腾半天就太low,其实AS内置了,就在Monitors里面,本篇重点介绍几个无脑点击调试app优化方法(PS:不定期更新)

    • 基本概念
    • 附带小工具Monitors相关
    • 内存优化
    • 探查器Android Profiler 替代Monitor
      • 开启高级分析器功能

基本概念

Android Monitors:让你可以很容易地监视应用程序的CPU、Memory、GPU、Network等参数的实时使用情况。

使用前提要求:
测试时,程序要与真机或模拟器保持联系(真机要求打开USB调度功能)。

AndroidStudio中:Tools > Android > Enable ADB Integration. 勾选Enable ADB Integration。

附带小工具(Monitors相关)

markScreen Capture 截图功能 AS2.4以上在独立的Logcat左边栏

markScreen Record 录屏功能 AS2.4以上在独立的Logcat左边栏

mark内存占用情况分析

markCPU占用情况分析

mark不会用,出现问题不知道怎么解决,不用百度,直接点击(须翻墙)官方解决方案更靠谱

小工具整体分布图

内存优化

mark点击红圈中按钮等待生成.hprof文件

mark

mark

探查器(Android Profiler 替代Monitor )

Android Studio 3.0中的新的Android Profiler窗口替代了Android Monitor工具,这些新的分析工具可为应用程序的CPU,内存和网络活动提供实时数据。您可以执行sample-based的方法跟踪代码执行、捕获堆转储、查看内存分配和检查网络传输文件的详细信息。

要打开Android Profiler窗口,请按照下列步骤操作:

  • 点击View > Tool Windows > Android Profiler(你也可以点击工具栏的image).

  • 在Android Profiler窗口的顶部,如图所示,选择设备①和您想要配置的应用程序②。

    如果您已通过USB连接设备但未看到它,请确保已启用USB调试。

    • 如果您使用Android模拟器或已经Root的设备,Android Profiler将列出所有正在运行的进程,即使它们可能是不可调试的。当您启动一个可调试的应用程序时,该进程是默认选择的。

Android Profiler现在显示了一个共享的时间线视图(下图),其中包括一个时间线,用于CPU、内存和网络使用的实时图。窗口还包括时间线缩放控件③,跳转到实时更新的按钮④以及显示活动状态,用户输入事件和屏幕旋转事件的事件时间轴⑤。

image

此共享时间轴视图仅显示时间线图。要访问详细的分析工具,请单击与您要检查的性能数据相对应的图表。例如,要访问工具以检查堆并跟踪内存分配,请单击MEMORY图。

有关每个概要分析工具的更多文档,请参阅以下内容:

  • Inspect CPU Activity and Method Traces with CPU Profiler
  • Inspect the Java Heap and Memory Allocations with Memory Profiler
  • Inspect Network Traffic with Network Profiler

开启高级分析器功能

默认情况下并不是所有的分析数据都可见。如果您看到一条消息,说“Advanced profiling is unavailable for the selected process”,则需要在运行配置中启用高级分析。

为了显示高级分析数据,Android Studio必须将监控逻辑注入到已编译的应用程序中。高级分析提供的功能包括:

  • 所有分析器窗口上的事件时间轴
  • 内存分析器中已分配对象的数量
  • 内存分析器中的垃圾收集事件
  • 有关Network Profiler中所有传输文件的详细信息

要启用高级概要分析,请按照下列步骤操作:

  • 选择 Run > Edit Configurations
  • 在左窗格中选择您的应用程序模块。
  • 单击Profiling选项卡,然后选中Enable advanced profiling.

现在再次构建并运行应用程序就可以访问完整的概要分析功能集。但是,请注意,高级分析会降低您的构建速度,因此只有在您要开始对应用程序进行概要分析时,才应启用它。

阅读全文
0 0
原创粉丝点击