导航:首页 > 操作系统 > android获取进程内存

android获取进程内存

发布时间:2024-01-08 01:12:28

A. android 怎样获取当前apk所占用的内存

这个方法有很多,常用的是 adb shell mpsys meminfo <package_name> 这可以看到比较全面的信息,由于Android是有内存共享的,所以通常有 VSS,RSS,PSS,USS等不同的内存表述,比较常用的是PSS,会将共享库按照比例分配给当前内存

B. android 高通cpu怎么用adb查看mem

.一、利用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.
转载

C. android系统中查看内存信息

看下大致内存使用情况 (free+buffers+cached)

proc/meminfo 机器的内存使用信息

/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。

/proc/pid/statm 进程所占用的内存

df 查看 存储空间使用情况

ps -t |grep system_server (或 surfaceflinger, service manager, media server,zygote) ( 倒数第二个是不是 s) 异常情况有如’D’, ‘T’, ‘Z’ , ‘R’等

mpsys meminfo com.android.mms 打印一个app的mem信息

从以上打印可以看出,一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间

RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库, 尽管无论多少个进程使用,实际该共享库只会被装入内存一次。

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

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

USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加

使用mpsys meminfo查看内存信息

脚本:

adb shell ps -t> tsq/ps.txt

adb shell top -t -m 5 -n 2 > tsq/top.txt

adb shell service list  > tsq/serviceList.txt

adb shell cat /proc/meminfo >tsq/meminfo

adb shell cat /proc/buddyinfo >tsq/buddyinfo

adb shell procrank > tsq/procrank.txt

adb shell cat proc/sched_debug >tsq/sched_debug.txt

adb shell cat proc/interrupts >tsq/interrupts.txt

adb shell mpstate > tsq/mpstate.txt

adb shell bugreport > tsq/bugreport.txt

@echo "finish."

pause

D. 安卓怎么看内存占用

工具/材料:

腾讯手机管家

有很多小伙伴在使用手机的时候,偶尔会出现手机卡顿,或者是手机自动显示内存不足的情况,很多小伙伴就觉得非常奇怪,自己的内存明明是足够的,为什么说内存不足呢?怎么样才能准确的查看自己的内存呢?想必很多小伙伴都比较迫切的想要知道,今天写这篇经验就是和大家分享一些办法,希望对大家有所帮助

【查看物理内存】

1,查看手机的物理内存,就是查看手机的自带内存和SD卡的存储,我们首先打开手机的设置功能,然后在里面可以看到【存储】选项

2,打开存储选项后,在里面就会看到你手机自带内存、内置内存、SD卡或者TF卡的内存容量了,然后互相进行调整,安装软件

【运行内存查看】

1,查看运行内存的方法很简单的,我们同样是打开手机的设置功能,然后在里面找到【应用】这个选项,因为运行内存就是看你运行程序所占的内存,和电脑的内存条一样

2,打开应用功能后,最下面可以看到一个进度条,这个就代表了你目前运行内存的使用情况,如果占用过多,就关闭一些程序吧

【优化手机内存】

1,其实想要优化手机的内存很简单,我们可以使用腾讯手机管家——手机加速功能,对手机的运行内存进行整理和清除

2,如果是物理内存的话,我们可以使用腾讯手机管家的【空间管理】和【垃圾清理】这两个功能进行管理和释放。

【注意事项】

1,垃圾缓存是会不断产生的所以需要定期清理才行

2,垃圾缓存清理的时候,看好清理的每一项,避免误删重要文件?

内存

编辑于2019-02-28,内容仅供参考并受版权保护

 赞踩分享

阅读全文

阅读全文

与android获取进程内存相关的资料

热点内容
小米手机什么时候配置安卓 浏览:258
三种命令方块 浏览:563
hp服务器怎么重新做系统 浏览:480
电脑与单片机无线 浏览:611
云服务器钱怎么提现 浏览:878
华为运动app怎么退出登录 浏览:796
程序员那么可爱陆漓金句 浏览:879
java如何将自己电脑设置成服务器 浏览:858
域名怎么制定服务器8080端口 浏览:665
服务器的主机如何使用 浏览:814
广讯通服务器地址怎么填 浏览:665
山东交管服务器繁忙云空间 浏览:52
51单片机热敏电阻坏了 浏览:547
远程电脑是云服务器吗 浏览:194
压缩包解压出来是音频 浏览:946
明源云erp服务器故障 浏览:159
安卓主页英文怎么写 浏览:846
2002服务器系统怎么设置分屏 浏览:73
什么情况空调压缩机电容坏 浏览:991
pagerank算法图解 浏览:319