一、利用Android API函数查看

1.1 ActivityManager查看可用内存。

ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();

am.getMemoryInfo(outInfo);

outInfo.availMem即为可用空闲内存。

1.2、android.os.Debug查询PSS,VSS,USS等单个进程使用内存信息

MemoryInfo[] memoryInfoArray = am.getProcessMemoryInfo(pids);

MemoryInfo pidMemoryInfo=memoryInfoArray[0];

pidMemoryInfo.getTotalPrivateDirty();

getTotalPrivateDirty()

Return total private dirty memory usage in kB. USS

getTotalPss()

Return total PSS memory usage in kB.

PSS

getTotalSharedDirty()

Return total shared dirty memory usage in kB. RSS

二、直接对Android文件进行解析查询,

/proc/cpuinfo系统CPU的类型等多种信息。

/proc/meminfo 系统内存使用信息

/proc/meminfo

MemTotal: 16344972 kB

MemFree: 13634064 kB

Buffers: 3656 kB

Cached: 1195708 kB

我们查看机器内存时,会发现MemFree的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

所以 空闲内存=free+buffers+cached=total-used

通过读取文件/proc/meminfo的信息获取Memory的总量。

ActivityManager. getMemoryInfo(ActivityManager.MemoryInfo)获取当前的可用Memory量。

三、通过Android系统提供的Runtime类,执行adb 命令(top,procrank,ps...等命令)查询

通过对执行结果的标准控制台输出进行解析。这样大大的扩展了Android查询功能.例如:

final Process m_process = Runtime.getRuntime().exec("/system/bin/top -n 1");

final StringBuilder sbread = new StringBuilder();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(m_process.getInputStream()), 8192);

# procrank

Runtime.getRuntime().exec("/system/xbin/procrank");

内存耗用:VSS/RSS/PSS/USS

Terms

• VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)

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

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

• USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

USS is the total private memory for a process, i.e. that memory that is completely unique to that process.USS is an extremely useful number because it indicates the true incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.

安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...相关推荐

  1. 查看基于Android 系统单个进程内存 CPU使用情况的几种方法

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  2. android 手写字体识别,一种基于Android系统的手写数学公式识别及生成MathML的方法...

    专利名称:一种基于Android系统的手写数学公式识别及生成MathML的方法 技术领域: 本发明属于模式识别技术领域,涉及数学公式中字符间的空间结构分析,具体涉及一种基于Android系统的手写数学 ...

  3. android系统通过图片绝对路径获取URI的三种方法

    老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...

  4. ubuntu查看内存占用和查看cpu使用情况的2种方法

    简易方法1:top法,并且摁下数字1 (1)使用terminal, 输入命令行 top (2)如果希望看到cpu核数,并且知道相关占用率等情况信息. 此时按下数字"1"即可 (3) ...

  5. 老马的技术博客 android系统通过图片绝对路径获取URI的三种方法

    原文地址http://www.cnblogs.com/mytech-blog/p/3201549.html 1.将所有的图片路径取出,遍历比较找到需要的路径,取出URI,效率较低 其中 MediaSt ...

  6. Linux查询root环境变量,linux环境变量和查看方法

    linux环境变量和查看方法 1. 显示环境变量HOME [root@localhost ~]# echo $HOME /root 2. 设置一个新的环境变量hello [root@localhost ...

  7. java安卓怎么开发一个新闻app,一个基于Android系统的新闻客户端(一)

    一个基于Android系统的新闻客户端(一) 一.整体概述 在服务器端,通过对凤凰网的抓取存入数据库,客户端通过向服务器发送请求得到新闻. 服务端用WCF,宿主为window服务,客户端为Java写的 ...

  8. 基于 Android 系统手机通讯录管理软件【100010322】

    基于 Android 系统手机通讯录管理软件 第一章 绪论 1.1 项目研究背景 经过多年的发展,移动终端不再仅是通讯网络的终端,还将成为互联网的终端.因此,移动终端的应用软件和需要的服务将会有很大的 ...

  9. android4.4系统 分屏,基于Android系统的宽屏后视镜分屏方法及系统与流程

    本发明涉及后视镜应用系统领域,尤其涉及一种基于Android系统的宽屏后视镜分屏方法及系统. 背景技术: 后视镜是驾驶员坐在驾驶室座位上直接获取汽车后方.侧方和下方等外部信息的工具.为了驾驶员操作方便 ...

最新文章

  1. Linux使用logrotate来切割日志文件
  2. Git 使用规范流程
  3. 如何在ArcMap中监听键盘鼠标事件
  4. 从深圳回武汉的面试感想以及一些面试题
  5. 面向对象4.1~4.4
  6. 单片机中断程序实例_单片机定时器中断实现长时间定时程序
  7. java1.8的stream_JDK1.8新特性(一):stream
  8. CSS 语言伪类选择器
  9. 纽约州立大学宾汉姆顿大学计算机科学专业,纽约州立大学宾汉姆顿大学
  10. PHP-Header缓存策略
  11. python官网下载非常慢解决方法
  12. 做硬件真的没有前途吗?看看资深工程师是怎么说的
  13. sqlserver数据库18456错误怎么解决?
  14. HTML基础知识笔记-01
  15. WeakHashMap相关
  16. Flutter AnimatedSwitcher 实现的滑动切换数字动画效果
  17. java多线程(4) ----- Lock的使用
  18. Android APP打包发布
  19. 【互联网的恩怨情仇】盘点2015年互联网十大撕逼事件
  20. Java-实现购物车功能小系统

热门文章

  1. ETL数据处理后的业务分析(一)
  2. leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
  3. C# foreach迭代器
  4. JUC队列-ArrayBlockingQueue(一)
  5. Spring之面向切面编程AOP(三)
  6. Amazon Aurora:高吞吐量云原生关系数据库的设计考虑
  7. 进程间通信:消息队列概念及代码
  8. 【讲解】1030 Travel Plan (30 分)【DFS】_41行代码Ac
  9. 【简便解法】1035 插入与归并 (25分)_37行代码AC
  10. 【终极办法】Client does not support authentication protocol requested by server; consider upgrading mysql