安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...
一、利用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使用情况的几种方法...相关推荐
- 查看基于Android 系统单个进程内存 CPU使用情况的几种方法
首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...
- android 手写字体识别,一种基于Android系统的手写数学公式识别及生成MathML的方法...
专利名称:一种基于Android系统的手写数学公式识别及生成MathML的方法 技术领域: 本发明属于模式识别技术领域,涉及数学公式中字符间的空间结构分析,具体涉及一种基于Android系统的手写数学 ...
- android系统通过图片绝对路径获取URI的三种方法
老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...
- ubuntu查看内存占用和查看cpu使用情况的2种方法
简易方法1:top法,并且摁下数字1 (1)使用terminal, 输入命令行 top (2)如果希望看到cpu核数,并且知道相关占用率等情况信息. 此时按下数字"1"即可 (3) ...
- 老马的技术博客 android系统通过图片绝对路径获取URI的三种方法
原文地址http://www.cnblogs.com/mytech-blog/p/3201549.html 1.将所有的图片路径取出,遍历比较找到需要的路径,取出URI,效率较低 其中 MediaSt ...
- Linux查询root环境变量,linux环境变量和查看方法
linux环境变量和查看方法 1. 显示环境变量HOME [root@localhost ~]# echo $HOME /root 2. 设置一个新的环境变量hello [root@localhost ...
- java安卓怎么开发一个新闻app,一个基于Android系统的新闻客户端(一)
一个基于Android系统的新闻客户端(一) 一.整体概述 在服务器端,通过对凤凰网的抓取存入数据库,客户端通过向服务器发送请求得到新闻. 服务端用WCF,宿主为window服务,客户端为Java写的 ...
- 基于 Android 系统手机通讯录管理软件【100010322】
基于 Android 系统手机通讯录管理软件 第一章 绪论 1.1 项目研究背景 经过多年的发展,移动终端不再仅是通讯网络的终端,还将成为互联网的终端.因此,移动终端的应用软件和需要的服务将会有很大的 ...
- android4.4系统 分屏,基于Android系统的宽屏后视镜分屏方法及系统与流程
本发明涉及后视镜应用系统领域,尤其涉及一种基于Android系统的宽屏后视镜分屏方法及系统. 背景技术: 后视镜是驾驶员坐在驾驶室座位上直接获取汽车后方.侧方和下方等外部信息的工具.为了驾驶员操作方便 ...
最新文章
- Linux使用logrotate来切割日志文件
- Git 使用规范流程
- 如何在ArcMap中监听键盘鼠标事件
- 从深圳回武汉的面试感想以及一些面试题
- 面向对象4.1~4.4
- 单片机中断程序实例_单片机定时器中断实现长时间定时程序
- java1.8的stream_JDK1.8新特性(一):stream
- CSS 语言伪类选择器
- 纽约州立大学宾汉姆顿大学计算机科学专业,纽约州立大学宾汉姆顿大学
- PHP-Header缓存策略
- python官网下载非常慢解决方法
- 做硬件真的没有前途吗?看看资深工程师是怎么说的
- sqlserver数据库18456错误怎么解决?
- HTML基础知识笔记-01
- WeakHashMap相关
- Flutter AnimatedSwitcher 实现的滑动切换数字动画效果
- java多线程(4) ----- Lock的使用
- Android APP打包发布
- 【互联网的恩怨情仇】盘点2015年互联网十大撕逼事件
- Java-实现购物车功能小系统
热门文章
- ETL数据处理后的业务分析(一)
- leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
- C# foreach迭代器
- JUC队列-ArrayBlockingQueue(一)
- Spring之面向切面编程AOP(三)
- Amazon Aurora:高吞吐量云原生关系数据库的设计考虑
- 进程间通信:消息队列概念及代码
- 【讲解】1030 Travel Plan (30 分)【DFS】_41行代码Ac
- 【简便解法】1035 插入与归并 (25分)_37行代码AC
- 【终极办法】Client does not support authentication protocol requested by server; consider upgrading mysql