Android性能优化—TraceView的使用

性能分析工具 Android TraceView TraceView是什么Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。 阅读详情
概述

TraceView是Android平台配备一个很好的性能分析工具,它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到方法。

如何使用
  • 通过Android studio自带的traceview查看(Android profiler)。
  • 通过Android SDK自带的Debug。
  • 通过DDMS中的traceview查看。
通过Android studio自带的traceview查看

通过Android studio 打开Android profiler 点击其中的CPU就会有以下的界面。

如上图所示,CPU Profiler的视图包括以下内容:
①App timeline:显示CPU在执行过程中的时间轴。
②线程 timeline:显示线程列表以及每个线程在某个时间段占用的CPU的资源情况。
③CPU timeline:列出CPU在App运行过程中CPU使用情况。
④Method Trace:在指定线程中,执行的方法栈,横行表示执行的时间轴,纵向表示方法执行的调用轴。

使用步骤
  • 打开CPU Profiler界面
  • 点击下方的红色圆点,开始记录(Record)堆栈(此时按钮变灰色),记录一段时间段后,再点击下停止记录(此时按钮变红色)
  • 在②区域选择你用分析的线程
  • 在③区域中选择要分析的CPU片段(只能有记录的CPU片段)
  • 查看④区域,就会有一系列的执行方法队列显示出来,通过横向查看可以看出某个方法的执行时间(横向时间越长,执行的时间越长),通过纵向表示方法的调用关系。
技术说明

②区域中,线程占用CPU资源,会有不同颜色标记:

  • 绿色: 线程处于活动状态或准备好使用CPU。也就是说,它处于”运行”或”可运行”状态。
  • 黄色: 线程处于活动状态,但是在完成其工作之前,它正在等待I / O操作(如文件或网络I / O)。
  • 灰色: 线程正在睡眠,不会消耗任何CPU时间,当线程需要访问尚未可用的资源时,有时会发生这种情况。要么线程进入自愿性睡眠,要么内核使线程休眠,直到所需的资源可用。

④区域中,不同的方法也会颜色也有所不同:

  • 橙色:系统方法
  • 蓝色:第三方API(包括java语言的api)
  • 绿色:App自身方法
通过Android SDK自带的Debug
  • 在开始记录的点写上代码Debug.startMethodTracing(“tracePath”);

  • 在终止记录的点写上代码Debug.stopMethodTracing();

  • 通过adb pull /mnt/sdcard/tracePath.trace .将trace导出指定的文件夹中

  • 通过Android studio打开trace文件,界面同CPU Profiler差不多。

优点

能清晰分析指定业务、功能块的方法执行情况(代码控制)。

通过DDMS中的traceview查看

前期准备工作(以windows系统为基准)

1、 下载Android SDK,下载地址就各显神通了。
2、 解压或者安装Android SDK。
3、 解压后的目录下的{sdk.dir}\tools配置到Path环境中。

使用说明
  • 打开window命令指示符,即cmd命令

  • 在命令行中输入monitor或者ddms(区分版本),打开界面

  • 如图点击红色圈圈按钮开始记录,再次点击后终止记录且弹出以下界面

    • ①线程timeLine:线程在执行过程消耗CPU/时间
    • ②执行TimeLine: 时间轴
    • ③方法详细信息轴:方法以及其调用方法的执行/消耗CPU时间
  • 查看main线程,查看执行时间长的时间段(②区域中同一个颜色起止时间)并点击他,在③区域中会弹出对应的方法栈信息,你就会发现有个Thread.sleep方法阻塞的main线程。

技术说明
  • Incl Cpu Time:方法在CPU中执行所有时间(包含其调用的方法所消耗的时间)
  • Excl Cpu Time: 方法在CPU中执行的时间(不包含其调用的方法所消耗的时间)
  • Incl Real Time:方法运行消耗的所有时间(包含子方法)
  • Excl Real Time:方法运行消耗的时间(不包含子方法)
  • Calls + Recur Calls/Total :方法调用、递归次数(重要指标,防止死循环)
  • Cpu Time/Call :该方法平均占用 CPU 的时间(重要指标,可以看出单个方法占用CPU的平均时间,但是要防止在个别调用处出现长时间占用,然后被平均了)
  • Real Time/Call :平均执行时间,包括切换、阻塞的时间(重要指标,可以看出单个方法执行的平均时间值,但是要防止在个别调用处出现长时间调用,然后被平均了)
Andorid性能优化之traceview的使用(不懂揍我) 一、traceview的使用方式有2种方式 这2种方式可以根据场景,去选择哪一种方式。最终效果是一样的 通过手动埋点 Profile 1.1、通过手动埋点。 步骤1: 比如我们知道在点击一个按钮的时候,会有卡顿,那么就可以用 //可以用以下代码测试你的代码。 //开始埋点,“app”是最后生成的性能分析文件 Debug.startMethodTracing("App"); //埋点结束,期间start 到 stop 之间的代码,就是你要测试的代码范围 Debug.stopMethodTraci 阅读详情

相关推荐

Android性能分析工具之TraceView的使用

通过TraceView,开发人员可以记录应用程序的性能数据,并可视化为方法调用树,从而帮助找出性能问题和优化方向。通过观察生成的方法调用树,你可以看到每个方法的执行时间和调用关系,从而找到性能瓶颈和优化的方向。TraceView是Android平台上的一款性能分析工具,它可以帮助开发人员分析应用程序的性能瓶颈,并找出其中的性能问题。本文将介绍TraceView的基本用法,并提供相应的源代码示例。在性能分析工具中,选择"CPU"选项卡,并点击"Start Profiling"按钮开始记录应用程序的性能数据。

PixelDyno的博客 880

正确姿势使用TraceView工具

           正确姿势使用TraceView工具    在对手机应用性能分析和定位的过程中Traceview是使用最多的一个工具,在遇到启动时间长界面切换时间长特别卡顿的时候Traceview是首选工具。如果查看界面的帧率问题建议还是先使用GPU配置文件以列表的形式展示在屏幕上这样可以首先发现这个界面的帧率是否有问题再做后续的排查。 如何开启TraceView   ...

IT先森 6435

sor文件打开工具Anritsu TraceView 5.0.zip

软件介绍: Anritsu TraceView 5.0.00用于打开sor类型的曲线文件,安装TraceView后会自动与SOR/TRC/TRL文件建立关联关系,双击SOR文件后会自动调用本软件进行打开。安装之前需要先安装Microsoft Visual C  2010运行库,根据系统类型选择安装以下程序:vcredist_x64.exevcredist_x86.exe另需要安装.NET框架。

traceview使用总结

文章目录1.traceview的用途2.生成trace文件的三种方式(1)代码生成(2)使用android studio生成(3)DDMS生成3.使用traceview打开trace文件4.分析trace文件 1.traceview的用途 traceview是Android sdk中的一个工具,用于分析计算性能,跟踪方法耗时导致的卡顿问题。它将traceview文件转为图形,直观的反应出代码的执行...

米小阳的博客 1万+

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

CANoe UDS $27服务DLL生成实战:从工程配置到算法修改全流程

本文详细介绍了在Vector CANoe中为UDS(统一诊断服务)的$27安全访问服务生成定制化DLL(动态链接库)的全流程。从定位官方参考工程、配置Visual Studio开发环境,到深入解析核心的GenerateKeyEx函数接口,并重点演示了如何修改和实现自定义的种子-密钥安全算法,最终完成DLL的编译、部署与CANoe集成测试,为汽车电子诊断开发提供实战指导。

star5的专栏 535

Android 性能优化之TraceView的使用

我的博客原文地址TraceView简介工欲善其事,必先利其器。要想分析Android的性能问题,比如卡顿了之类的,那么就必需掌握TraceView工具的使用。 TraceView 是 Android SDK 中内置的一个工具,它可以加载 trace 文件,用图形的形式展示代码的执行时间、次数及调用栈,便于我们分析,以此来优化 App 运行效率。生成trace文件在进行分析以前,必需要生成trace

寒江蓑笠的专栏 2050

基于Simulink使用激光雷达数据跟踪车辆仿真(附源码)

这些模型将长方体的尺寸定义为状态转换期间的常量,并且它们的估计值在滤波器的校正阶段随时间演变。下面的动画显示了在滤波器的预测阶段将具有不同概率的恒定速度和恒定转弯率模型混合在一起的效果。此示例显示了如何使用带有 IMM 过滤器的 JPDA 跟踪器来跟踪使用激光雷达传感器的对象。图像和激光雷达数据读取器从 MAT 文件中读取记录的数据,并分别输出参考图像和点云中点的位置。跟踪器块选中“启用所有轨道输出”和“启用可检测的跟踪 ID 输入”复选框,以从跟踪器输出所有轨道,并将其检测概率作为其状态的函数进行计算。

珞瑜的博客 2568

Android 性能优化之TraceView分析

前言:前两天接到了优化我们项目进入二级页面速度的任务,才突然发现一直忙着pm定的各种业务需求,好久没有去专门做性能方面提升的工作了。就自然的选择了用TraceView来分析卡顿的原因,在这次优化算是结束的时候我想着就当是作为对经典又好用的TraceView致敬从而写了这篇简单大众的文章。 先给需要的小白科普一下,TraceView是什么? TraceView 是 Android 平台特有的数据...

蒙的博客 753

Agent驱动电商运营:从选品到售后的全链路革新

在当今竞争激烈的电商市场中,传统的电商运营模式面临着诸多挑战。从选品到售后,每个环节都需要大量的人力投入和专业知识。选品需要深入了解市场趋势和消费者需求,营销需要精准定位目标用户,客服需要24小时响应用户咨询。这些工作不仅耗时耗力,而且容易受到人为因素的影响,导致效率低下和成本高企。AI Agent是一种能够感知环境、做出决策并采取行动的智能系统。感知能力:能够获取和处理环境信息。决策能力:能够根据感知到的信息做出决策。行动能力:能够执行决策,对环境产生影响。学习能力。

AI 领航者的博客 356

Silvaco TCAD 半导体器件仿真全攻略:从入门到精通

本文介绍了Silvaco TCAD半导体器件仿真平台的核心功能与应用方法。主要内容包括: Silvaco TCAD的核心模块组成(ATHENA工艺仿真和ATLAS器件仿真)及其在半导体研发中的重要作用,能够通过数值仿真预测器件电学特性,显著降低研发成本。 环境配置要点,包括内存分配、文件目录管理和许可证验证,为仿真工作提供基础保障。 仿真核心概念:详细讲解了网格划分策略和物理模型选择原则,强调基于物理直觉的自适应加密网格方法。 以PN结二极管为例,提供了完整的仿真代码示例,涵盖从网格定义、掺杂设置到结果分析

huanghm88的专栏 206

android 编译器优化命令,安卓性能优化——TraceView工具

软件性能优化是一个很大的概念。首先从自带的一些工具开始,利用工具来协助我们对性能做优化。解决系统性能问题的几个主要步骤是:找->定->调找:要优化肯定要先找下那部分有性能问题啊,例如有用户投诉所APP卡,你和他沟通后,他说了在主界面滑动过程卡顿。这样我们就大致找到一个需要优化的范围点,接下来需要定位啊。当然这是游击,碎片化的方式,最好还是对程序进行大量的有针对性的测试,得到测试数据,然...

weixin_32445717的博客 355

Ceph入门到精通-存储桶通知

这 通知还可以根据前缀的匹配项过滤掉事件,并且 (1) 键的后缀,(2) 附加到对象的元数据属性, 或 (3) 对象标签。在此模式下,操作仅在以下之后确认(确认) 通知将发送到主题的已配置终端节点。这意味着 通知的往返时间(发送 通知主题的终端节点以及接收 确认)被添加到操作本身的延迟中。要更新主题,请使用用于创建主题的相同命令(但在 更新时,使用现有主题的名称和不同的终端节点值)。端口:对于未加密的连接,默认为 5672,对于未加密的连接,默认为 5671 SSL 加密连接。(默认情况下,这是“假的”。

隔壁老瓦的专栏 1133

android抓trace工具,Android性能优化工具之TraceView

Android性能优化工具之TraceView引子TraceView是Android平台特有的数据采集和分析工具,该工具可以通过图形化的方式让我们了解需要跟照片那个程序的性能,可以具体到method,主要用于分析Android中应用程序的Hotspot。该工具本身是一个数据分析工具,那个如何获取数据并分析呢,笔者用之前写的一个demo.apk来进行说明分析。采集数据采集数据也就是生成我们需要分析的...

weixin_36028243的博客 2257

S7-1200中时钟功能设定和读写调用的具体方法

S7-1200中时钟功能设定和读写调用的具体方法

Robot_PLC_HMI_Automation 1万+

第1讲|AI产品经理全景图谱:不是“会用AI工具”,而是能对AI产品结果负责

本文从岗位本质出发,系统拆解 AI 产品经理的职责、岗位类型与能力模型,帮助读者理解 AI PM 与传统 PM 的核心差异,明确自己适合的转型方向,并建立“对 AI 产品结果负责”的产品认知。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1018

Android 性能优化:使用 TraceView 找到卡顿的元凶

读完本文你将了解到: 前言 TraceView 是什么 生成 trace 文件 使用代码生成 trace 文件 使用 Android Studio 生成 trace 文件 使用 DDMS 生成 trace 文件 根据 TraceView 显示内容定位问题 解决 DDMS 中的 TraceView 无法搜索find 无法使用的问题 解决办法就是直接使用 SDK 中的 TraceView TraceV

张拭心的博客 shixinzhang 6万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android性能优化---TraceView 分析图怎么看

TraceView是什么,TraceView 是 Android 平台特有的数据采集和分析工具,主要用做热点分析,找出最需要优化的点。TraceView 从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿的时候,我们可以来分析出现卡顿时在方法的调用上有没有很耗时的操作,通过TraceView,可以得到两种数据 单次执行最耗时的方法 执行次数最多的方法 要打开上面的面板,...

Easyhood的博客 826

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android 性能优化 二 TraceView工具的使用

一、 选择跟踪范围 在想要根据的代码片段之间使用以下两句代码 Debug.startMethodTracing("love_world_"); Debug.stopMethodTracing(); 例如,onCreate与onStart方法之间方法跟踪 public class MainActivity extends Activity { @Override protected

Android 4万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android性能优化(一):TraceView

最近,我准备好好研究一下Android性能优化方面的相关知识,准备从应用流畅度开始,边看《移动App性能评测与优化》边自己实践,希望可以补足一下自己在优化这方面的空白。  工欲善其事必先利其器,我先学习了TraceView这个大神器的使用方法。下面就来总结一下。  为了节省你的时间,本文主要内容如下: - TraceView两种使用方法 - TraceView各项数据的含义TraceView

taylor的专栏 2590

TraceView android 性能优化工具

TraceView界面 现来看一下整个界面的图,整个界面包括上下两部分,上面是你测试的进程中每个线程的执行情况,每个线程占一行;下面是每个方法执行的各个指标的值 上面一部分是你测试进程的中每个线程运行的时间线,下图中可以可以看到,主要只有一个main线程在执行,因为我滑动了一下列表,main线程(UI线程)正在进行绘制View呢~ 然后我点击了序号为133的一个方法io.bxbx

fay8048的博客 1471

Android性能优化工具之TraceView

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34090643的博客 129

Android 性能优化 TraceView工具的使用

一、TraceView工具如何使用 TraceView有两种启动/关闭分析方式: (1) 第一种使用方法演示 1、 选择跟踪范围 在想要根据的代码片段之间使用以下两句代码 [java] view plain copy  print? Debug.startMethodTracing("love_world

江湖夜雨十年灯 549

android TraceView使用以及listview 的性能优化测试(一)

今天看了下文档,说TraceView 对程序的的性能和优化有很大的帮助: 本人比较懒,文章也没继续往下下看,直接百度了下TraceView  的使用技巧,资源很多,介绍怎么使用  推荐:http://blog.youkuaiyun.com/itachi85/article/details/6857324  当然具体怎么做的步骤简单的一下,大概分这么几步:  一:在创建avd ,给sd卡的内存大一点,因

2717

Android 性能优化工具 TraceView 简单使用

背景最近产品以及测试大佬反应快搜桌面进入搜索页面跳转较为缓慢,影响体验,为了优化这个问题,特地学习Android 性能优化工具 TraceView的 简单使用,这才有了本文。正文如下图打开android device monitor ,打开有点慢,请耐心等待:可能有些同学会打不开,出现如下的错误:重装一遍jdk,配好环境变量一般就没有问题了。android device monitor打开之后如图...

weixin_34235457的博客 152
上一篇: Android性能优化—线程管理
下一篇: Android性能优化—内存分析工具MAT的使用(一)
码农驿站
博客等级 码龄10年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值