Android内存_从测试角度理解

  前段时间在做些关于App的性能测试,先了些关于内存方面的基础知识。

1. 内存名字:

  VSS = Virtual set size = 虚拟耗用内存(包含共享库占用的内存)

  RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)

  PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)

  USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
  看不懂?其实我也不是很懂。转载一篇博客,它的后面黄色部分有对这个4个内存做出一定的解释(http://www.cnblogs.com/0616--ataozhijia/p/3713542.html)。

  但是有个结论:In general, the two numbers you want to watch are the Pss and Uss (Vss and Rss are generally worthless, because they don‘t accurately reflect a process‘s usage of pages shared with other processes)

  结论来源地址:http://elinux.org/Android_Memory_Usage

2. PSS和USS的测试意义:

1. USS是非常准确的反应了一个APP的内存情况,PSS准确度稍差,但是还是可以使用。

2.  关于PSS的一点小说明:The “Proportionate Set Size” is a statistic that the Android system computes, to determine if it is going to kill your process.[android系统会根据APP在PSS上占用的多少,来决定是否杀掉这个进程]

结论来源地址:http://www.littleeye.co/blog/2013/06/11/android-memory-management-understanding-app-pss/

3. 如何获取PSS和USS:

  a. procrank工具:命令 procrank | grep APK_pakagename  (说明,此工具一般手机都不会有[不管是否root],工程系统才会存在,比如:CyanogenMod) /   它可以查询到:USS,VSS,RSS,PSS,非常高效但是对手机系统有一定要求。

b. dumpsys命令:dumpsys meminfo APK_pakagename,此命令可以获取到PSS,查看total Pss 即可。

4. RSS和VSS

a. 可以使用 adb Top或者 ps 命令获取,但是意义不大,不建议使用此命令测试APP的内存占用。

时间: 2024-11-03 22:07:48

Android内存_从测试角度理解的相关文章

移动端测试===Android内存管理: 理解App的PSS

Android内存管理: 理解App的PSS 原文链接:http://www.littleeye.co/blog/2013/06/11/android-memory-management-understanding-app-pss/ 当在应用程序上运行Little Eye时,在内存视图中,会报告有关应用程序内存的3个重要统计信息. Dalvik内存使用情况,即Java堆消耗的内存量,Native内存,即JVM外部进程使用的内存量. 然后是第三个统计量,被称为"PSS". 什么是PSS?

移动端测试===Android内存泄露和GC机制(转)

本文转自:https://www.testwo.com/article/1153 1.前言 Hello,小伙伴们,相信大家在项目测试中都遇到过内存泄露问题,小编也着实爬过很多坑.比如小编所测项目,更换了多实例版本的sdk,横竖屏切换后有MapView没有销毁,导致内存泄露.小编测试手表项目,因为手表内存有限,测试中常遇到应用无响应或者闪退,故而小编对GC机制进行了进一步学习了解. 本文先对Android内存垃圾回收机制进行介绍,之后对分析.定位内存泄露常用的测试方法进行总结,分享给大家. 2.A

android内存优化大全_上

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). 内存简介: RAM(random acc

Android 内存泄露测试数据处理--procrank,setprop,getprop(转)

1.Android内存测试常用的几个概念. VSS--virtual set size 虚拟耗用内存(包含共享库占用的内存)RSS--Resident set size实际使用的物理内存(包含共享库占用的内存)PSS--Proportional set size 实际使用的物理内存(比例分配共享库占用的内存)USS--Unique Set size:进程独自占用的物理内存(不包含共享库占用的内存)一般来说内存占用大小如下规律:VSS>=RSS>=Pss>=USS 2.Android pr

Android 内存溢出管理与测试

今天发现正在做的项目,时不时的会报错:dalvikvm heap out of memory on a 7458832-byte allocation (堆分配的内存溢出) 为什么会内存溢出呢?我以前从未遇见这种情况.后来在网上查了查资料,还是挺多的. 怎么说呢?因为Android开发基本上是以java语言为基础,那么程序是在java虚拟机上运行的.而虚拟机不允许单个程序中的Bitmap占用超过8M的内存,从报错的日志可以看出:7458832-byte大约就是7M多的样子,基本吻合上述数据.在我

Android Volley完全解析(四),带你从源码的角度理解Volley

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17656437 经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚.因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍.同时,这也是Volley系列的最后一篇文章了. 其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示. 多数朋友突然看到一张这样

Android内存泄露测试

本文参考:http://blog.csdn.net/amy0428/article/details/7057282 Android下,如何进行内存泄露的测试,除了长时间运行的间接测试,有没有工具帮助我们进行这方面测试呢? 首先,安装 MAT 和其他插件的安装非常类似,MAT 支持两种安装方式,一种是“单机版“的,也就是说用户不必安装 Eclipse IDE 环境,MAT 作为一个独立的 Eclipse RCP 应用运行:另一种是”集成版“的,也就是说 MAT 也可以作为 Eclipse IDE

android内存优化大全_中

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). OOM: 内存泄露可以引发很多的问题:

Android内存泄露案例分析

一款优秀的Android应用,不仅要有完善的功能,也要有良好的体验,而性能是影响体验的一个重要因素.内存泄露是Android开发中常见的性能问题.这篇文章,通过我们曾经遇到的一个真实的案例,来讲述一个内存泄露问题,从发现到分析定位,再到最终解决的全过程. 这里把整个过程分为四个阶段: 第一阶段,现场勘查,分析Bug现象,找出有用线索: 第二阶段,初步推断,根据之前的线索,推断可能导致Bug的原因,并且进一步验证推断是否正确: 第三阶段,探究根源,找出导致Bug的真正原因: 第四阶段,解决方案,研