android内存测试方法,Android内存测试方法.doc
Android内存测试方法
标准:
1.Android手持设备最大进程内存阀值的50%
2.不允许出现内存泄漏
3.OOM要有异常处理机制
常用工具:
1. DDMS
2. MAT
3. Magnifier(开发中暂未落地)
执行方法:
50%内存阀值监控
查看法
【级别:必须执行】
使用这个步骤基本上就能帮助测试,发现和监控50%进程内存阀值红线的,触及情况。
【方法】
使用DDMS的设备进程管理器(只有调试版apk所产生的进程可以显示在这个列表中,开发版的os会显示所有进程,不管是否是调试版apk)
对列表中选中进程,做update heap操作,就可以在heap标签下看到当前进程所占内存
如果列表是空,看不到这些数据,请点击【cause GC】按钮
可以注重看Allocated字段,和data object字段
Allocated:当前占用内存大小(如果此项超过最大进程内存阀值的50%,点击【cause GC】无法降低,就触及合入红线了)
data object:进程中实例个数
开发分析法
【级别:建议开发执行】
执行这个步骤可以定量,定性内存问题发生的原因,机制。但使用过程比较繁琐,需要多加训练,建议开启培训机制
【方法】
排列法:使用MAT的统计视图排列功能,排列出内存占用最大的对象,然后逐个分析引用关系。
对比法:使用MAT统计视图的对比功能,对比两个hprof文件,发现增量部分,然后通过统治者视图分析引用关系。(可以参看/group/MTC/articles/show/153827木糖醇的【内存杂谈】)
代码静态分析法:直接命中代码,由开发主导,看代码画出对象向量图,分析引用关系。
内存泄漏
使用【查看法】,反复使用相同功能,如果【data object】持续上升,点击【cause GC】也无法回降,就是内存泄漏了,这个是不允许的,触发了合入标准红线
OOM异常处理机制
OutOfMemoryError的异常处理机制,应包括
1. 释放cache内存(比如使用list,vector等所做的缓存,执行clear操作)
2. 调用系统GC方法
3. 打印log,包括模块名称,异常出现的方法名称
4. 重新执行异常前操作,如果依然出现内存不足,直接crash,使用QQ的异常上报机制,上报异常。
案例:
手Q切换帐号内存泄漏
使用【查看法】,发现切换帐号过程中【data object】持续上升,点击【cause GC】也无法回降,用MAT抓取dump,分析结果
android内存测试方法,Android内存测试方法.doc相关推荐
- 百度视频在Android和iOS端性能测试方法
背景介绍 一直以来,性能测试是被一部分人遗忘,又让另一部分人无可奈何的东西.在绝大部分的创业公司,性能测试基本上都是被遗忘的,他们认为功能测试和稳定性测试才是重点,而在中等规模的公司中一部分测试人员考 ...
- android都图片mat_Android内存泄露整理
为什么会产生内存泄漏? 当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏. ...
- Android 图片缓存之内存缓存技术LruCache,软引用
Android 图片缓存之内存缓存技术LruCache,软引用
- Android性能优化之内存篇(三)
原文链接:http://hukai.me/android-training-managing_your_app_memory/ http://hukai.me/android-performance- ...
- Android使用Handler造成内存泄露的分析及解决方法
Android使用Handler造成内存泄露的分析及解决方法 参考文章: (1)Android使用Handler造成内存泄露的分析及解决方法 (2)https://www.cnblogs.com/xu ...
- android代码实现手机加速功能,Android自定义View实现内存清理加速球效果
Android自定义View实现内存清理加速球效果 发布时间:2020-09-21 22:21:57 来源:脚本之家 阅读:105 作者:程序员的自我反思 前言 用过猎豹清理大师或者相类似的安全软件, ...
- android app增加内存大小,android – 增加分配给应用程序的内存
我尝试显示相机拍摄的图像并将其显示在应用程序中.当我拍摄低分辨率图像(比如说大小为100kB)时,我没有切换到位图显示的问题,当我以高分辨率(1.5MB)拍摄时,应用程序崩溃,异常 Error jav ...
- android如何避免内存泄露,Android开发中应该避免的内存泄露
一.背景和目的: 目前许多开发人员在Android开发过程中,较少关注实现细节和内存使用,容易会造成内存泄露,导致程序OOM. 本文会通过代码向大家介绍在Android开发过程中常见的内存泄露. 二. ...
- android应用内存分析,Android应用程序内存分析-Memory Analysis for Android Applications
Android应用程序内存分析 原文链接:http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html ...
最新文章
- 在线编辑器 上传控件
- 模块式lamp fpm式lamp
- UVA10369 Arctic Network
- phpStorm安装xDebug
- 2.3_ 1_ 进程同步、进程互斥
- 突然听到一只公鸡的局域网聊天软件
- mysql 密码忘记
- rhel5U4下挂在ntfs文件系统
- Oracle 19c 安装教程
- Ubuntu过去十年的10个关键时刻
- Shader 优化相关资料整理
- Android开发关于调用摄像头黑屏没反应的问题
- [转]PHP FFI详解 - 一种全新的PHP扩展方式
- 一区希尔盖服务器找不到,魔兽世界怀旧服:服务器第一成就达成!分享一下心得...
- 精通CSS(5.6.3-end)PixyFairypureCSSToolHintscale
- 宝塔面板创建数据库时报错数据库管理密码错误处理方案
- 多路温度采集控制系统(2)需求分析
- ABAP BDC返回成功但是未创建单据或没有产生相应效果
- i5 i7 Oracle,Intel Core i5/i7哪款最适合你?Intel Core i5/i7处理器简略对比评测
- 【ROCKCHIP瑞芯微芯片平台方案介绍】
热门文章
- PHP语言基础简单整理
- js获取url后面的参数值
- 在一堆人还在犹豫《SEO实战密码》是否值得购买的时候,在下已经收藏了1/10的签名版...
- session_cache_limiter(private,must-revalidate)是什么意思
- Bailian4102 宠物小精灵之收服【模拟】
- 2018 ACM-ICPC Asia Beijing Regional Contest题解
- NUC1840 Graveyard Design【尺取法】
- HDU2032 杨辉三角【入门+趣味程序】
- 古谚、评论与论断、名篇与名言
- Hopfield 神经网络及稳态性的证明