完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当应用实现了新功能后,准备发布版本前,必须进行性能测试以确定没有性能问题,内存使用情况便是其中必须要测试的性能之一。由于内存组成的复杂性,并没有简单通用的方法能够发现所有的内存问题。有时候因为问题比较明显,就真的发现了问题,但是对于较为成熟的软件,并不是那么容易发现内存问题。现在从内存测试流程、内存测试方法、内存占用的评判建议三个方面总结如下,希望能提升内存测试的有效性。
内存测试流程 1)代码:保证没有附加多余的Log和调试用组件 2)测试场景:新开发的功能,只需要对该功能进行性能测试,因此测试场景包括该功能的开启前、运行、结束后等测试点;另一类是整体性能,项目管理工具考察应用的常见场景,在综合使用情况下的性能指标,测试场景应当包括启动后待机、切换到后台、执行主要功能以及反复执行各功能。在两类场景中,重点关注: ①包含了图片显示的界面; ②网络传输大量数据; ③需要缓存数据的场景 3)场景转换成用例:选取了测试场景之后,针对内存测试的特点设计用例,对APP内存变化作对比;将测试场景转化为脚本,长时间运行泛灵犀功能,比较操作前后内存的变化来评估测试APP的内存 4)执行:将采集到的数据以图形的形式展现,观察内存的波动 5)分析:分析内存时重点关注如下几个字段: Native/Dalvik 的 Heap ,分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长, 则代表程序可能出现了内存泄漏; Total 的 PSS 信息,代表应用真正占据的内存大小,通过它可以判别手机中哪些程序占内存比较大了。 内存占用评判建议 通过性能监控工具进行性能评测时,得出的结果不知道内存cpu波动是否在预期之内,不懂得如何评估。经过了解,可以从以下几个方面考虑: 1)首先与有该功能的以往版本和竞品做对比,得出内存的差值 比如对一个APP每个版本都做内存占用评测,在对比与以往版本。也会对竞争对手在内存上的消耗量,通过内存的差值可以较为直观地判断出该版本的内存占用情况。 2)若之前版本和竞品都无该功能,可将应用的基本功能消耗的内存作为参考 3)内存有无泄漏 判断内存是否泄漏的方法是:在APP测试过程中是否存在因为内存不足导致的应用crash;内存是否存在持续上涨的情况。针对上图泛灵犀主动情况下的内存占用,可从内存有无泄漏角度分析。 4)内存峰值是否在单个应用所允许的最大值之内 最大值可参考:手机硬件配置;系统所允许的最大值;相比类似应用的峰值。在手机的设置、用用程序管理器、应用程序信息中可以看到应用所占用的手机内存大小。若某个功能的内存峰值小于该应用所占内存,基本是符合预期的。 |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
5288 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+《智能化技术在船舶维护中的应用探索》
2736 浏览 0 评论
2557 浏览 0 评论
2268 浏览 0 评论
1682 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:59 , Processed in 0.528834 second(s), Total 44, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号