1. 移动端性能监测的主要途径
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的当涂网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
移动端性能监测的主要途径有三种:一是开发工具自带的监测工具,例如xcode自带的instrument,Android studio自带的Android monitor;二是使用第三方SDK;三是自行开发检测代码。三种途径各有利弊。
开发工具自带的监测工具,包含了很多强大的监测功能,且持续迭代更新,使用方便,为开发阶段的性能测试提供强有力的支持。但是只能在开发工具内部使用,不能独立使用在其他产品周期内。
专门用于性能监测和用户行为、属性分析的第三方SDK,比如Bugly,OneAPM,听云,Firebase,把它们接入项目可以进行性能监测,这些第三方的工具工作原理都是类似的:引入SDK和相关库,在程序入口处启动监测,在关键函数之前和之后自动埋点记录上报。然而使用第三方SDK的缺点也是非常明显的,首先是可定制性差,我们需要的一些指标无法收集,SDK收集的我们又不完全需要,很有可能为了简单的几个值,让安装包增大许多。除性能指标外,SDK是否统计了其他数据,我们并不完全知道,涉及到安全性问题。
自行在项目中植入监测代码的优势就是安全可靠,并且可定制化指标,有针对性。缺点就是需要开发成本,而且在代码中监测App的性能本身可能也会带来额外的性能损耗。
2. 移动端核心性能指标
App的性能问题包括崩溃、网络请求错误或超时、响应速度慢、列表滚动卡顿、流量大、耗电等。而导致App性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线程、锁、系统函数、编程范式、数据结构等导致的。即便是最有经验的程序员,也很难在开发时就能避免所有导致性能低下的"坑",因此解决性能问题的关键是在于能不能尽早地发现和定位这些"坑"。
衡量一个App的性能有很多方面的指标,不同App的特征会有不同的侧重指标。其中,核心的性能检测指标(普遍会监测的指标)有:
3. 不同迭代周期对移动端性能测试的需求
一个App的迭代生命周期,可大体分为开发期、测试期、线上期。
不同的迭代周期对于测试工具具有不同需求:
4. 主流移动端性能测试工具简述
(1) Xcode-Instrument
Instrument是Apple官方提供的一个强大的内置在xcode中的性能调试工具集。其中,Activity Monitor(活动监视器):监控进程级别的CPU,内存,磁盘,网络使用情况,可以得到应用程序在手机运行时总占用的内存大小;Core Animation(图形性能):这个模块显示程序显卡性能、CPU使用情况以及页面刷新帧率;Network:用链接工具分析程序如何使用TCP/IP和UDP/IP链接;Energy Log:耗电量监控。Instrument主要用于在调试过程中随时发现问题,及时优化,但是这个工具只能供有应用源码的程序员使用,无法测量用户真实使用场景下的性能。
(2) Android monitor
Android Studio内置了四种性能监测工具Memory Monitor、Network Monitor、CPU Monitor、GPU Monitor,可以使用这些工具监测App的状态。Memory Monitor工具主要是用来监测App的内存分配情况,判断是否存在内存泄漏;Network Monitor是用于显示App网络请求的状态;GPU Monitor工具可以将进行UI渲染工作所花的时间表现出来;CPU Monitor可以对代码中的方法进行检测。
(3) Matrix
Matrix是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。数据监测结果存储到后台,没有直观的展示界面。Matrix-iOS/
macOS主要监控崩溃、卡顿和爆内存。Matrix-android监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等。
(4) GT
GT(随身调)是直接运行在手机上的"集成调测环境"。利用GT,仅凭一部手机,无需连接电脑,即可对App进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等)、开发日志的查看、Crash日志查看、网络数据包的抓取、App内部参数的调试、真机代码耗时统计等。
GT支持iOS和Android两个手机平台,其中:
(5) Emmagee
Emmagee是一款实用、方便的性能测试工具,适用于指定的Android App,它可以监控CPU、内存、网络流量、电池电流和状态(某些设备不受支持)。此外,它还支持自定义收集数据的时间间隔,在浮动窗口中呈现实时进程状态等。
安装之后,打开Emmagee会显示出目前系统已经安装的应用(可在设置中配置间隔)。选择一个应用之后,点击"开始测试"按钮,Emmagee会自动启动被测应用,并在最上方显示流量、CPU、内存等数据,在该状态下可任意使用被测应用,Emmagee会自动进行相关数据的记录,终止测试之后会生成相应的报告,并保存在Android目录中。
(6) Soloπ
Soloπ是支付宝在移动端上实现的一套无线化、非侵入、免Root的 Android 专项测试方案。直接操控手机,即可实现自动化的功能、性能、兼容性、以及稳定性测试等工作。支持 CPU、内存、FPS、流量等常规指标的实时获取,同时支持将性能数据记录下来,存储到本地并通过报表形式展示,支持性能加压。
(7) Testin
Testin性能测试,通过自动化的测试工具,在上线前模拟正常、峰值以及异常等多种场景,从而对App的各项性能指标进行测试。包括:负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试。
(8) Bugly
Bugly是腾讯推出的一款免费的崩溃收集工具。面向移动开发者提供专业的 Crash 监控、崩溃分析等质量跟踪服务。移动开发者 ( Android / iOS ) 可以通过监控,快速发现用户在使用过程中出现的 Crash (崩溃)、Android ANR( application not response) 和 iOS 卡顿,并根据上报的信息快速定位和解决问题。用户只要登陆 Bugly 网站,就可以清晰的看到被监测产品有多少 Crash,影响了多少用户的使用,并可以根据 Bugly 提供的 Crash 日志进行问题修复。
(9) OneAPM
Mi是OneAPM针对移动设备上App推出的移动应用性能监控工具。Mi展示移动应用的交互性能,崩溃率,HTTP 错误率,网络错误率等核心性能指标、用户访问轨迹、用户动作等行为数据,以及活跃用户等运营数据。从用户动作、网络请求、崩溃三个核心指标对用户体验进行评估,并结合应用版本、操作系统、设备、地域等多个维度总览用户分布情况。完整记录每个用户的访问轨迹,通过查看单次用户访问,回溯过程中出现的缓慢动作,错误请求和崩溃。详尽展示某类崩溃影响的设备、操作系统、应用版本、发生次数、影响用户等信息,还原崩溃发生轨迹,定位崩溃代码行。
(10) 听云App
听云App是听云平台提供的移动端性能监测工具。监控真实用户使用过程中的崩溃、错误、卡顿、网络性能差等问题。可以跟踪App应用移动设备端用户进行屏幕操作时的交互性能;统计多种错误类型,直观定位到具体报错URL、以及崩溃时的堆栈信息;可以深入追踪HTTP错误、网络错误和崩溃的原因,提高App质量。
5. 主流移动端性能测试工具横向对比
针对不同的产品迭代周期,选取了目前业内比较成熟的工具,对比各自的优缺点。
各工具性能指标覆盖情况对比如下表:
6. 结论
不同的移动端性能测试工具各有优劣势,在工具选择上,需要综合考虑主要监测的性能指标和工具的特长。对于研发测试阶段适用的工具,GT、Emmagee、soloπ在andriod端可直接安装apk进行测试,方便快捷。对于线上用户使用情况的监控,有些工具指标覆盖比较全面,但是对某些指标的监测不够深入,可考虑叠加另外一个或多个工具进行组合使用。
网页标题:技术栈!10种主流移动端性能测试工具概况及横向对比分析!
文章网址:http://www.shufengxianlan.com/qtweb/news49/265849.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联