APP内存占用测试
APP内存占用测试
1 主要测试点
空闲状态
切换至后台或者启动后不做任何操作,消耗内存最少。
中强度状态
时间偏长的操作应用。
高强度状态
高强度使用应用,可以跑 monkey 来测试(通常用来测试内存泄漏)。
内存泄漏
指使用 malloc 或 new 申请了一块内存,但是没有通过 free 或 delete 将内 存释放,导致这块内存一直处于占用状态。
2 测试方法
使用 adb 命令
adb shell dumpsys meminfo welab.bank.mobile.stage
主要指标
Native heap alloc、Dalvik heap alloc
若这两个值一直增长,说明可能出现内存泄漏
PSS,
App 实际占用的内存大小:
下图可以看出内存总共占用329581,也就是329M,说明该APP占用内存很大
多次中这条adb命令,对比以下参数:
Native heap alloc、Dalvik heap alloc 、总内存
主要关注
退出某个页面后,内存是否有回落。
如果没有及时回落,且程序自动 GC(Garbage Collection,垃圾回收)或 者手动 GC,那便可确认有问题。
进行某个操作后,内存是否增长过快。
如果增长过快,也有可能存在风险,需重复操作确认。
android程序内存被分为2部分:native和dalvik
dalvik就是我们平常说的java堆,
我们创建的对象是在这里面分配的
查看pss total和heap size(27716KB)
不能超过最大限制(使用下面的命令查看)
adb shell
getprop | grep heapgrowthlimit
查看单个应用程序最大内存限制(meminfo里面的dalvik heap size的最大值27716KB,
如果超出了192M那就很可能会发生OOM)
总结:
每次gc后,pss total没有明显回落,就有可能存在内存泄漏,但仍需长时间观察。
dalvik heap size超过heapgrowthlimit会发生OOM,
但如果Manifest中的application标签中声明android:largeHeap=True,
则dalvik heap达到heapgrowthlimit限制的时候不会出现OOM,
需要达到heap size的时候才会出现OOM
adb shell
getprop | grep dalvik.vm.heapsize 单个java虚拟机最大的内存限制
再次总结:
dalvik.vm.heapstartsize----------初始分配的内存大小
dalvik.vm.heapgrowthlimit------应用的最大内存限制
dalvik.vm.heapsize--------------java虚拟机最大内存限制
相关文章
- App.Config Transformation for projects which are not Web Projects in Visual Studio? app.debug.config
- Android app专项测试之耗电量测试
- App 抓包提示网络异常怎么破?
- Google Earth Engine APP(GEE)——用一个选择器选择不同城市的应用
- Google Earth Engine(GEE)APP——一个监测影像各波段的DN值的app
- uni-app - 应用启动后自动将屏幕旋转横屏(仅APP端适用)
- uni-app - 文字上下循环滚动翻滚,类似中奖名单与公告栏信息公示等等,自定义组件封装,支持 DIY(适用于新闻动态、公告上下滚动列表、上下循环滚动,无限上下自动滚动列表)兼容小程序/H5/App
- uni-app - APP平台禁止页面滑动(无法上下滚动屏幕页面)
- uni-app - 插件[App云打包]安装失败!(app打包时显示app云打包插件安装失败)解决方案
- 移动App性能测评与优化1.4.1 从物理内存到应用
- 移动App性能测评与优化1.5.4 dex文件优化
- 【便签】签到app安卓客户端(开源)
- uni-app上线:www.dadaqianduan.cn
- 《移动App测试的22条军规》——第23章,第12节测试微信App中高内存使用的功能
- 通过apicloud实现的混合开发App的Demo
- app的描述-软件的描述
- JAVA 安装Springboot后,run as 没有 spring boot app 选项
- uni-app 更改默认组件样式
- 新一代物联网助力智慧城市 手机App可轻松找到空车位
- H5唤起APP的解决方案:手机浏览器跳转app内指定页面(URL Scheme使用)
- 读写app.config AppSettings,保留注释与不保留注释
- vue 外卖app (1) 项目目录介绍