APP测试工具之TraceView卡顿检测
Traceview卡顿检测
Traceview是Android平台特有的数据采集和分析工具,集成在DDMS工具中,可以采集程序中的方法执行耗时、调用关系、调用次数以及资源占用等情况。
一、使用方法
1、启动虚拟机/连接手机,cmd命令输入ddms启动DDMS工具。打开手机上被测应用,在ddms上选择测试应用的进程。点击Start Method Profiling按钮,当按钮上的小红点变成黑色的时候,处于采集信息状态。
2、操作应用被测模块,操作完成后,点击Start Method Profiling结束采集信息,这时会弹出Traceview界面,显示操作过程中采集的数据信息。
Traceview界面分为时间线界面和分析界面两部分,时间界面显示线程函数的调用信息,包括函数名和函数时间,鼠标在时间线上移动,可以显示当前时间点中线程执行的信息;分析界面展示了线程中函数调用情况,包括CPU使用时间,调用次数等信息。
|
列名 |
描述 |
|
Name |
该线程运行过程中所调用的函数名. |
|
Incl Cpu Time |
某函数占用的CPU时间,包含内部调用其它函数的CPU时间. |
|
Excl Cpu Time |
某函数占用的CPU时间,但不含内部调用其它函数所占用的CPU时间. |
|
Incl Real Time |
某函数运行的真实时间(以毫秒为单位),内含调用其它函数所占用的真实时间. |
|
Excl Real Time |
某函数运行的真实时间(以毫秒为单位),不含调用其它函数所占用的真实时间. |
|
Call+Recur Calls/Total |
某函数被调用次数以及递归调用占总调用次数的百分比. |
|
Cpu Time/Call |
某函数调用CPU时间与调用次数的比。相当于该函数平均执行时间. |
|
Real Time/Call |
同CPU Time/Call类似,只不过统计单位换成了真实时间. |
二、关注点
1、消耗CPU时间较长的方法:选择Cpu Time/Call列进行降序排序,查看耗时最长的函数,如果该函数调用一次或者调用次数很少,但是耗时非常长,那么很可能是潜在的问题。
2、调用次数频繁的方法:选择Call/Recur Calls/Total进行降序排序,查看调用次数频繁且CPU耗时很长的方法,也可能是一个潜在的问题。
三、卡顿检测
如果对应用某个模块进行操作时,明显会觉得卡顿,那么可以用TraceView定位卡顿的原因,Start Method Profiling启动TraceView数据采集,操作卡顿模块,操作时间尽量简短且覆盖卡顿操作,便于查找问题,停止数据采集,查找分析界面CPU耗时较长的方法即可能是卡顿原因所在。
APP测试工具之TraceView卡顿检测的更多相关文章
- App测试工具大全,收藏这篇就够了
随着移动互联网的高速发展,App 应用非常火,测试工程师也会接触到各种 app 应用.除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的 app 测试工具做了一个统一 ...
- Android App 测试工具及知识大集合
简介: 作者从事测试将近11年,有8年的团队管理经验,经历了上市公司,外包,日企,股份制公司的企业文化洗礼,擅长测试团队的组建,流程建立,改造,质量体系建建设,有三次经历在不同企业文化从"0 ...
- 几个移动App测试工具
介绍几款移动App测试的工具: 腾讯测试:http://bugly.qq.com/优测:http://utest.qq.com/fir.im测试:http://bughd.com/ 大致介绍如下: b ...
- 【Android端ANR卡顿检测】BlockCanary检测
一.什么是BlockCanary? 检测主线程卡顿的一个开源工具,基本展现模式等都和LeakCanary很像 二.BlockCanary的工作原理是什么? 工作原理所涉及到的底层的内容一定要理解清楚 ...
- iOS app应用界面加载卡顿的问题
刚发布版本,忽然发现加载界面需要3-5秒延迟,那么问题来了. 首先,发现问题: 1.看代码,基于之前版本更新都没出问题,还是比较确信不是代码中的bug,以防万一,还是仔细看了下关于界面跳转部分的代码, ...
- python uiautomator,比 appium 更简单的 app 测试工具
1,场景 在 app 测试的蛮荒时代,如果要进行 app 自动化测试非常麻烦.张大胖如果想做安卓自动化测试,首先必须要学 Java.因为安卓自动化测试都绕不开 google 自己研发的自动化测试框架, ...
- BlockCanary界面卡顿检测
添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0' 运行后会同时安装检测工具,主要检测UI线程运行卡顿现象 pub ...
- APP测试工具与技术
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- App测试工具
1.App性能测试与安全测试工具 性能测试工具:Itest(众测平台) 安全测试:Utest
随机推荐
- 12-2 mysql 查询
老师提纲 1. create database test2. drop database test3. create table info( code int primary key, name va ...
- 第三个Sprint冲刺第六天
讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:研究一下有趣的东西
- 《JavaScript模式》第3章 字面量和构造函数
@by Ruth92(转载请注明出处) 第3章:字面量和构造函数 一.创建对象的三种方式 // 对象字面量 var car = {goes: "far"}; // 内置构造函数(反 ...
- jquery模板制作左侧导航组件
/** * Created by bmk on 16-4-25. * * 用法:在自己的js里面把左侧导航的相关图标和对应的列表项名称如下编写: * 版本更新日至按需添加 * 在js中的RNA.run ...
- linux之ps命令
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- Waves:类Material Design 的圆形波浪(涟漪)点击特效插件
Waves:类Material Design 的圆形波浪(涟漪)点击特效插件 2014/08/06 分类:前端开发, 素材分享 浏览:6,734次 来源:原创 1个评论 6,734 ...
- maven项目修改java编译版本的方式
背景 使用 maven 3.x 安装到本地后,创建的项目一般都是基于JDK1.5版本.而目前大多数的项目已经升级到1.6或以上,尤其是Servlet3.0 已经要求Java6或以上版本的环境,往往需要 ...
- maxscript, 批量导出物体
1,将场景中所有选中物体整体导出为一个fbx文件 exportfile filename #noprompt selectedOnly:true using:FBXEXP 2,将场景中所有选中物体各导 ...
- 【C】 06 - 标准库概述
任何程序都会有一些通用的功能需求,对这些需求的实现组成了库.它可以提高程序的复用性.健壮性和可移植性,这也是模块化设计的体现.C规范定义了一些通用接口库,这里只作概述性介绍,具体细节当然还是要查阅规范 ...
- Node.js网络编程
Node.js为javascript语言提供了一个在服务端运行的平台,它以其事件驱动,非阻塞I/O机制使得它本身非常适合开发运行在在分布式设备上的I/O密集型应用,分布式应用要求Node.js必须对网 ...