统计Android的内存信息

获取系统的内存信息

1、读取/proc/meminfo获取内存信息

adb shell cat /proc/meminfo

在这里插入图片描述
1.1、MemTotal:内存总数
系统从加电开始到引导完成,BIOS等要保留一些内存,内核要保留一些内存,最后剩下可供系统支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的。
1.2、MemFree:空闲内存数
表示系统尚未使用的内存。MemUsed=MemTotal-MemFree就是已被用掉的内存。
1.3、Cached:缓存区内存数
当你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,也就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。
1.4、MemAvailable:可用内存数
应用程序可用内存数。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、都有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存,即:MemAvailable≈MemFree+Buffers+Cached,它是内核使用特定的算法计算出来的,是一个估计值。

2、使用free查询内存信息

adb shell free

在这里插入图片描述
free命令输出的total、free分别与/proc/meminfo中的MemTotal、MemFree对应。
参照free的输出结果,这里有几个计算公式:
为了直观说明,把第2行“Mem”称作OS Mem,把第三行 “buffers/cache”称作APP buffer/cache:
OS Mem total = OS Mem used + OS Mem free
APP buffers/cache used = OS Mem used - OS Mem buffers
APP buffers/cache free = OS Mem free + OS Mem buffers
APP buffers/cache total = APP buffers/cache used + APP buffers/cache free = OS Mem total

3、使用ActivityManager.MemoryInfo获取内存信息:

ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryInfo(memInfo);
//系统内存的总大小
mTotalMemory = memInfo.totalMem;
//系统可用内存
mAvailMemory = memInfo.availMem;
//系统是否处于低内存运行
isLowMemory = memInfo.lowMemory
//当系统剩余内存低于memInfo.threshold时就是低内存运行,系统将开始kill后台服务和进程
mLowMemoryThresold = memInfo.threshold;
//app可使用的最大memory size,即getprop中的heapgrowthlimit
int mMaxMemory = activityManager.getMemoryClass();
//manifest中设置了largeHeap=true后,app可使用的最大memory size,即getprop中的heapsize
int mLargeMaxMemory = activityManager.getLargeMemoryClass()

查看App内存限制

Android app运行在vm上,而Android系统对vm heapsize做了一个硬性逻辑限制,就算物理内存富余,如果应用超出APP逻

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android内存占用分析app是一种可以帮助用户分析Android设备中应用程序内存使用情况的工具。在Android系统中,内存管理是非常重要的,合理使用和优化内存资源对于提升设备性能和应用程序的流畅运行至关重要。 这类内存占用分析app通常具有以下功能: 1.内存监控:能够监控应用程序在运行过程中的内存使用情况,包括内存使用量、分配的内存内存泄漏等。通过实时监测和统计,用户可以清晰地了解到每个应用程序所占用的内存资源。 2.内存分析:能够对应用程序进行内存分析,找出存在的内存泄漏或者大量内存占用的问题。通过分析内存分配、内存回收等信息,为用户提供关于内存使用情况的详细报告和建议。 3.进程管理:可以显示当前设备上运行的应用程序进程,并提供关闭进程、释放内存的功能。用户可以根据应用程序的内存占用情况来决定是否关闭某个进程以释放内存资源。 4.优化建议:根据内存分析结果,内存占用分析app还可以提供优化建议,帮助用户合理分配内存资源,减少应用程序的内存占用,提高设备性能和应用程序的响应速度。 总之,这类Android内存占用分析app可以帮助用户全面了解和分析应用程序的内存使用情况,以及找出存在的问题并提供优化建议。通过合理使用和优化内存资源,可以提升设备性能、提高应用程序的运行效率,使用户获得更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值