Android内存占用情况分析

Android内存占用情况分析

   本文主要讲解用系统自带工具分析android手机在运行时内存分部情况,当手机内存不足时,可以按照下面步骤分析到底是谁占用了内存。

查看手机剩余内存情况

在终端输入以下指令:

adb shell dumpsys meminfo

主要信息如下图:

剩余内存描述
   查看手机剩余内存方法有很多,这个方法比较准确。

Total RAM为手机的总内存;
Free RAM为剩余内存:其中cached pss为后台缓冲进程,当系统内存不足或缓冲进程数目达到系统限制最大数时会杀掉(部分)以释放内存。cached为高速缓冲存储器的内存,这部分内存已经分配好了,但是系统为了节约频繁申请内存开销,free时会把一部分内存cache起来,当用户再次申请内存时可能会直接从缓冲拿一块出来。free为未分配的物理内存;
Used RAM为用户态使用总内存;
Lost RAM为内核态使用内存,比如OpenGL纹理内存、GPU占用内存、图形显示ION buffer都包含在Lost RAM里。

   值得注意的是当Free RAM比较小时可以认为系统内存不足(有种情况不能确定就是:Lost RAM占用内存很大,Lost RAM可能是内核缓冲内存太多了导致Free RAM小,但是并不是内存足,因为当内存不足时kernel会释放缓存,可以通过echo 3 > /proc/sys/vm/drop_caches主动释放)。

   如果想了解根据详细内存分配情况可以在终端输入:

adb shell cat /proc/meminfo

详细内存分配情况
其中:

MemTotal: LowTotal与HighTotal总和,系统总可用RAM大小(即物理内存减去一些预留位和内核的二进制代码)

MmFree: LowFree与HighFree的总和,被系统留着未使用的内存

Buffers: 用来给文件做缓冲大小

Cached: 被高速缓冲存储器(cache memory)缓存的内存的大小(等于 diskcache minus SwapCache)

SwapCached: 被高速缓冲存储器(cache memory)用的交换空间的大小已经被交换出来的内存,但仍然被存放在swapfile中。用来在需要的时候很快的被替换而不需要再次打开I/O端口

Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用

Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径

HighTotal: 高内存,内核不能直接访问的这部分内存

HighFree: 高内存剩余大小

LowTotal: 底内存,内核能够直接访问的内存

LowFree: 低内存剩余大小

SwapTotal: 交换空间的总大小

SwapFree: 未被使用交换空间的大小

Dirty: 等待被写回到磁盘的内存大小

Writeback: 正在被写回到磁盘的内存大小

AnonPages:未映射页的内存大小

Mapped: 设备和文件等映射的大小

Slab: 内核数据结构缓存的大小,可以减少申请和释放内存带来的消耗

SReclaimable:可收回Slab的大小

SUnreclaim: 不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)

PageTables: 管理内存分页页面的索引表的大小

NFS_Unstable: 不稳定页表的大小

VmallocTotal: 可以vmalloc虚拟内存大小

VmallocUsed: 已经被使用的虚拟内存大小

查看进程内存占用情况

top指令查看各进程内存

   在终端输入:

adb shell top

top指令查看内存

查看某个进程内存

   找到要查看的进程pid,在终端输入:

adb shell dumpsys meminfo pid

单个进程内存

   如上图,可以分别看到Native Heap、Dalvik Heap、PSS大小。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值