一线互联网企业大咖推荐:Android 性能测试方法(深度好文,值得收藏)

1)内存消耗概念

这个测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性,当然关于内存测试,在这里我们需要引入几个概念:空闲状态、中等规格、满规格。

19956127-5cdbc8efcee77eed.png

空闲状态:指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲。

中等规格和满规格:指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

接下来我们说说在内存测试中,存在很多测试子项,如下清单所示:

①空闲状态下的应用内存消耗情况

②中等规格状态下的应用内存消耗情况

③满规格状态下的应用内存消耗情况

④应用内存峰值情况

⑤应用内存泄露情况

⑥应用是否常驻内存

⑦压力测试后的内存使用情况

2)关于Android内存测试方法分类

①使用Android本身提供的ActivityManager.MemoryInfo()方法获得(此方法请百度或google)此类第三方工具有如网易的Emmagee、安测试、腾讯的GT等。

②使用Android提供的对应内容,来获取。

19956127-6bd949bd000bec8d.png

③使用Android提供的procrank。这里我们详解一下procrank方法(批处理)。

首先,去google获取procrank、procmem、libpagemap.so三个文件;然后push文件,执行;最后,剩下的就是整理测试数据了。

19956127-42ba82bc924d6808.png

3)关于内存泄露方面的测试

可以通过几个方面来测试:

①通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况;

②通过eclipse上的mat+heap来分析存在内存泄露方面的节点。

CPU方面的测试


1)子项清单

CPU跟内存一样,存在一些测试子项,如下清单所示:

①空闲状态下的应用CPU消耗情况

②中等规格状态下的应用CPU消耗情况

③满规格状态下的应用CPU消耗情况

④应用CPU峰值情况

2)CPU的测试方法

1.使用Android提供的

19956127-c014cf405418e12a.png

2.使用top命令

19956127-fce8095b55f0d64b.png

3.第三方软件

例如:3Dmax、安兔兔等。

3)GPU的测试方法

自从CPU及内存后,GPU这个词对于PC性能测试者也不陌生了。3Dmax、安兔兔等之类的第三方软件,让GPU在移动端性能测试领域都知晓。但对于应用的GPU该如何来测试呢?我们先引入几个名词:过度绘制、帧率、帧方差。

19956127-5a027634026448b5.png

过度绘制:是指界面显示的activity套接了多层而导致;

帧率:是指屏幕刷新率;

帧方差:是指屏幕刷新帧间隔方差。

对于GPU的测试主要包括以下几个测试子项:界面过度绘制、屏幕滑动帧速率、屏幕滑动平滑度。

①过度测绘

它主要通过人工进行测试。打开开发者选项中的显示GPU过度绘制来进行测试(PS:只有Android4.2及以上的版本才具备此功能)。验收的标准为:

a、不允许出现黑色像素

b、不允许存在4x过度绘制

c、不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)

②屏幕滑动帧速率的2种主要方法

→ 软件测试方法

a、手机端需打开开发者选项中的启用跟踪后勾选Graphics和View

b、启动SDK工具Systrace插件,勾选被测应用,点击Systrace插件,在弹出的对话框中设置持续抓取时间,在tracetaps下面勾选gfx及view选项,

c、人滑动界面可以通过节拍来进行滑动或者扫动,帧率数据会保存到默认路径下,默认名称为trace.html

d、将trace.html文件拷贝到linux系统下通过命令进行转换,生成trace.csv文件:

19956127-fbb1fd2b25f613af.png

e、用excel打开文件计算得到帧率

→ 硬件方法

这里需要引入高速相机,打开高速相机,开启摄像模式,录制人滑动或者扫动被测应用的视频,再通过人工或者程序数帧的方法对结果进行计算得到帧率。

19956127-8dd8698a69b81453.png

③屏幕滑动平滑度测试

方法如同帧率测试,唯一的差异就是最后的结果计算公式的差异。GPU的测试目前业界使用的均为硬件来进行,软件测试的数据相较硬件差异较大,对于帧率及帧方差的测试标准而言,需对待不同机型设定不同的标准。

功耗测试


1)功耗测试类别

功耗测试主要从以下几个方面入手进行测试:

j

b、常见使用场景中能够正常进入待机,待机电流在正常范围内。

c、长时间连续使用应用无异常耗电现象。

19956127-79ff7a92e951508b.png

2)测试方法

①软件测试

A、第三方工具:如金山电池管家之类的;

B、自写工具:这里一般会使用3种方法:

第一种,基于Android提供的PowerManager.WakeLock来进行;

第二种,比较复杂一点,功耗的计算=CPU消耗+Wakelock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗;

第三种,通过adbshelldumpsysbattery来获取。

②硬件测试

在这里,我们一般使用万用表或者功耗仪进行测试。使用功耗仪测试的时候,需要制作假电池来进行的,有些不能拔插电池的手机,还需要焊接才能进行功耗测试。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

**一个零基础的新人,我认为坚持是最最重要的。**我的很多朋友都找我来学习过,我也很用心的教他们,可是不到一个月就坚持不下来了。我认为他们坚持不下来有两点主要原因:

他们打算入行不是因为兴趣,而是因为所谓的IT行业工资高,或者说完全对未来没有任何规划。

刚开始学的时候确实很枯燥,这确实对你是个考验,所以说坚持下来也很不容易,但是如果你有兴趣就不会认为这是累,不会认为这很枯燥,总之还是贵在坚持。

技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备!

提升自己去挑战一下BAT面试难关吧

对于很多Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些知识图谱希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

不论遇到什么困难,都不应该成为我们放弃的理由!

如果有什么疑问的可以直接私我,我尽自己最大力量帮助你!

最后祝各位新人都能坚持下来,学有所成。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

提升自己吗?还有大量大厂面试题为你面试做准备!**

提升自己去挑战一下BAT面试难关吧

[外链图片转存中…(img-B1BnuSGX-1713447576409)]

对于很多Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些知识图谱希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

不论遇到什么困难,都不应该成为我们放弃的理由!

如果有什么疑问的可以直接私我,我尽自己最大力量帮助你!

最后祝各位新人都能坚持下来,学有所成。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值