永发信息网

android中是否有查看某个运行中程序占用CPU的API

答案:1  悬赏:40  手机版
解决时间 2021-01-27 18:07
android中是否有查看某个运行中程序占用CPU的API
最佳答案
.一、利用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.
转载
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙海市东美村南园幼儿园地址在哪,我要去那里
浙江省宁波有什么好玩的地方吗?要详细一点?
赁保的意思是什么啊?知道的请说下!
90.56醉驾有没有从轻处理的结果,有什么办法
自贡观灯文
[化学题]锂,钠与氧气反应化学方程式
华为手机的型号都是chm_tlooh该怎么分辨
红苹果家具广场地址有知道的么?有点事想过去
龙海市东泗乡卓港村幼儿园地址好找么,我有些
煮蚕豆是冷水下锅还是开水下锅
单选题世界名城中最大的广场是A.天安门广场B.
赴哀的意思是什么啊?知道的请说下!
憨豆特工片头曲 急!!
当网红很赚钱,为什么很多女大学生不愿做
雷阵图破解方法
推荐资讯
北京巴黎婚纱怎么样?拍的效果好不好?为什么
触电情缘网吧地址在哪,我要去那里办事
黩祭的意思是什么啊?知道的请说下!
七鸡八鸭几多爪,五马六羊几多蹄,几多大蹄走
好123网页的"小游戏"里的 "魔塔60层" 的16层
四通物流(岛东线附近四通物流)怎么去啊,我要
炉甘石洗剂的制备是怎么样的
我想在吉林市找一份工作不知道哪里用人
制纯硅的方程式
听说爬山会影响骨骼发育,真的吗?
开心消消乐隐藏关卡第二十一关怎样破解
望京30人年会哪里办好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?