对于GPU、功耗、等测试来说,用第三方工具测试得到的数值一般都不是很准确,这个时候我们需要引入硬件来进行测试了,GPU可以采用高速相机来进行测试,功耗可以使用万用表或安捷伦电源仪来进行测试(ps:有硬件动手能力的可以DIY一个小板进行)。
####3、Android的性能测试
该本分内容为今天主要详述的内容,具体分析见下文。
###二、关于Android的性能测试
####1、启动时间
首先,我们来说说启动时间。关于应用的启动时间的测试,分为三类:
①首次启动–应用首次启动所花费的时间
②非首次启动–应用非首次启动所花费的时间
③应用界面切换–应用界面内切换所花费的时间那么如何来做启动时间的测试呢,一般我们分为2类,一类为使用软件来测试,一类为使用硬件来测试,首先我们说说软件测试的方法,可能大部分人都比较通晓使用Android提供的DisplayManager来获取activity的启动时间。
步骤:
通过计算activity最后剩余的时间之和即可(这里可以使用excel表格自动相加也可以使用算法,我就不详细介绍了)。
除了Display Manager的打印时间方法后,还有通过关注am的启动时间及Display Manager打印的结束时间,通过两者时间之间想减也能得到应用的启动时间,还有可以通过Power Manager来计算打印时间,在应用启动的时候,我们可以关注Activity Manager-Launch的变化来计算应用的启动时间,还有可以通过截图统计启动时间,对于自研应用,最效率的莫过于直接在程序中插入打印时间的节点了。
除了软件测试的方法,还有硬件测试,我们可以使用高速相机或者手机,采用录像的方法把应用启动过程给录制下来,然后通过人工数帧或者程序数帧的方式计算启动时间。
####2、内存消耗
1)内存消耗概念
这个测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性,当然关于内存测试,在这里我们需要引入几个概念:空闲状态、中等规格、满规格。
空闲状态:指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲。
中等规格和满规格:指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。
接下来我们说说在内存测试中,存在很多测试子项,如下清单所示:
①空闲状态下的应用内存消耗情况
②中等规格状态下的应用内存消耗情况
③满规格状态下的应用内存消耗情况
④应用内存峰值情况
⑤应用内存泄露情况
⑥应用是否常驻内存
⑦压力测试后的内存使用情况
2)关于Android内存测试方法分类
①使用Android本身提供的ActivityManager.MemoryInfo()方法获得(此方法请百度或google)此类第三方工具有如网易的Emmagee、安测试、腾讯的GT等。
②使用Android提供的对应内容,来获取。
③使用Android提供的procrank。这里我们详解一下procrank方法(批处理)。
首先,去google获取procrank、procmem、libpagemap.so三个文件;然后push文件,执行;最后,剩下的就是整理测试数据了。
3)关于内存泄露方面的测试
可以通过几个方面来测试:
①通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况;
②通过eclipse上的mat+heap来分析存在内存泄露方面的节点。
####3、CPU方面的测试
1)子项清单
CPU跟内存一样,存在一些测试子项,如下清单所示:
①空闲状态下的应用CPU消耗情况
②中等规格状态下的应用CPU消耗情况
③满规格状态下的应用CPU消耗情况
④应用CPU峰值情况
2)CPU的测试方法
1.使用Android提供的
2.使用top命令
3.第三方软件
例如:3Dmax、安兔兔等。
3)GPU的测试方法
自从CPU及内存后,GPU这个词对于PC性能测试者也不陌生了。3Dmax、安兔兔等之类的第三方软件,让GPU在移动端性能测试领域都知晓。但对于应用的GPU该如何来测试呢?我们先引入几个名词:过度绘制、帧率、帧方差。
过度绘制:是指界面显示的activity套接了多层而导致;
帧率:是指屏幕刷新率;
帧方差:是指屏幕刷新帧间隔方差。
对于GPU的测试主要包括以下几个测试子项:界面过度绘制、屏幕滑动帧速率、屏幕滑动平滑度。
①过度测绘
它主要通过人工进行测试。打开开发者选项中的显示GPU过度绘制来进行测试(PS:只有Android4.2及以上的版本才具备此功能)。验收的标准为:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
小福利:
在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021大厂最新Android面试真题解析
各个模块学习视频:如数据结构与算法
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
或直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。
纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
或直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。