对android 内存分析比较好的Blog:

主要介绍

1、进程的地址空间。

2、进程内存空间和RAM之间的关系。

3、Android中的进程。

4、Android中进程的堆内存。

5、Android的 java程序为什么容易出现OOM。

6、Android如何应对RAM不足。

7、如何查看RAM使用情况。

8、 如何查看进程的内存信息。

9、应用程序如何绕过dalvikvm heapsize的限制。

10、Bitmap分配在native heap还是dalvik heap上?

一、        分析整个系统的内存使用情况:

1、Procrank

Android自带的内存分析工具,对各个进程的内存使用进行排序(by Pss default).

# procrankPID Vss Rss Pss Usscmdline

3351 1058776K163952K 141197K 139596K com.google.earth

2616 943156K116020K 93360K 91724K com.android.vending

539 990756K 112504K91393K 89808K com.android.systemui

4657 995760K105964K 77829K 70776K com.rovio.angrybirds

...

119 31904K 7676K6038K 5900K /system/bin/surfaceflinger

122 27468K 3788K3045K 2964K /system/bin/mediaserver

...

120 865084K 24308K2263K 860K zygote

...

------ ------ ------

717098K 669272KTOTAL

RAM: 1124832Ktotal, 105528K free, 3808K buffers, 136624K cached,

656K shmem, 23656Kslab

2、Dumpsysmeminfo

Android自带的内存分析工具,dumpsys只能查看java进程,procrank可以查看Native进程和java进程。.

3、Cat /proc/meminfo

查看总的内存使用情况.

MemTotal:        396708kB

MemFree:           4088kB

Buffers:           5212kB

Cached:          211164kB

Mlocked:              0kB

HighTotal:            0kB

HighFree:             0kB

LowTotal:        396708kB

LowFree:           4088kB

SwapTotal:            0kB

……

……

MemTotal:可以使用的RAM总和(小于实际RAM,操作系统预留了一部分)

MemFree:未使用的RAM

Cached:缓存(这个也是app可以申请到的内存)

HightTotal:RAM中地址高于860M的物理内存总和,只能被用户空间的程序使用。

HightFree:RAM中地址高于860M的未使用内存

LowTotal:RAM中内核和用户空间程序都可以使用的内存总和(对于512M的RAM: lowTotal= MemTotal)

LowFree: RAM中内核和用户空间程序未使用的内存(对于512M的RAM: lowFree = MemFree)

4、Ps -x

该方式主要得到的是内存信息是VSIZE和RSS。.

二、        分析单个进程的内存使用情况

1、Procmem +进程号

可查看进程的各个部分内存使用情况,包括通过驱动申请的内存

# procmem 119Vss Rss Pss UssShCl ShDi PrCl PrDi Name

------- -------------- ------- ------- ------- ------- -------

4K 0K 0K 0K 0K 0K0K 0K

1012K 4K 4K 4K 0K0K 4K 0K [stack:944]

512K 512K 512K 512K0K 0K 36K 476K /dev/mali0

512K 512K 512K 512K0K 0K 0K 512K /dev/mali0

516K 12K 12K 12K 0K0K 12K 0K [anon:libc_malloc]

512K 512K 512K 512K0K 0K 224K 288K /dev/mali0

512K 512K 512K 512K0K 0K 32K 480K /dev/mali0

516K 12K 12K 12K 0K0K 12K 0K [anon:libc_malloc]

...

2680K 2668K 2668K2668K 0K 0K 2668K 0K [heap]

132K 20K 20K 20K 0K0K 20K 0K [stack]

0K 0K 0K 0K 0K 0K0K 0K [vectors]

------- -------------- ------- ------- ------- ------- -------

31904K 7676K 6039K5900K 1760K 16K 4144K 1760K TOTAL

2、Dumpsys meminfo + pid/packageName

可查看进程的dalvik-heap,NativeHeap大小

shell@hwB199:/ $ dumpsys meminfo 1051

dumpsys meminfo 1051

Applications Memory Usage (kB):

Uptime: 184110340 Realtime: 419146160

** MEMINFO in pid 1051[com.android.systemui] **

Shared  Private    Heap     Heap     Heap

Pss    Dirty   Dirty     Size    Alloc    Free

------   ------  ------   ------   ------  ------

Native        0       0        0    24276   21430     2321

Dalvik   17339     5612    17236   20864    15142     5722

Stack      144        8     144

Cursor        0        0       0

Ashmem        0        0       0

Other dev     6564     1696    5756

.so mmap     1559     2704    1192

.jar mmap        0        0       0

.apk mmap     1197        0       0

.ttf mmap      481        0       0

.dex mmap      662        0       0

Other mmap       42        8       4

Unknown    18510      520   18504

TOTAL    46498    10548   42836    45140    36572    8043

Objects

Views:      316         ViewRootImpl:        2

AppContexts:       29           Activities:        0

Assets:        8       AssetManagers:        8

Local Binders:       64        Proxy Binders:       69

Death Recipients:        5

OpenSSL Sockets:        0

SQL

MEMORY_USED:        0

PAGECACHE_OVERFLOW:        0          MALLOC_SIZE:        0

Asset Allocations

zip:/data/app/com.UCMobile-2.apk:/resources.arsc: 522K

zip:/data/app/com.tencent.mobileqq-1.apk:/resources.arsc: 1204K

android 如何 查看内存使用详情,android 查看内存使用情况相关推荐

  1. Android点击通知进入详情,Android 点击通知进入正在运行的程序

    好久没写文章,今天遇到一个新需求,app正在通话过程切换到后台,点击通知栏的时候 回到通话界面. 直接上代码吧首先是实现通知的代码 NotificationCompat.Builder notific ...

  2. android 高仿京东商品详情,Android模仿京东商品详情 选择规格特效

    效果.gif 最近我的5s实在卡的不行就打算买个手机,在京东上看手机的时候发现这个效果,感觉挺好玩的,就想着自己实现下,iOS版本有此效果,Android好像没有. 思路 看到这个效果我马上就想到了M ...

  3. 【转】android如何查看cpu的占用率和内存泄漏

    原文网址:http://www.cnblogs.com/yejiurui/p/3472765.html 在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程 ...

  4. Android 查看每个应用的最大可用内存

    http://blog.csdn.net/vshuang/article/details/39647167    Android 内存管理 &Memory Leak & OOM 分析 ...

  5. android如何查看cpu的占用率和内存泄漏

    在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描 ...

  6. Android Studio使用profile简单优雅的查看内存变化

    Android Studio使用profile简单优雅的查看内存变化 android项目想必大家对于oom异常都不陌生;但是如何去查看内存变化呢? 在此我给大家推荐两种简单的查看内存方式 还有一种就是 ...

  7. android 仿QQ五毛特效之查看红包领取详情界面

    这篇是15年写的 没有审核成功,今天看到,重新发布了下,没想到发布成功了~~! 首先我们看下 上下滑动的效果     从左到右依次为 往上滑动的截图 发现在滑动的过程中可以发现以下3点: 1. 发起者 ...

  8. linux查看内存是单通道还是双通道,android /linux如何识别S5pv210 双通道不连续的内存?...

    这位哥设置寄存器映射硬件内存连续的方法倒是不错 不过我不相信linux不支持不连续的物理内存接法. S5PV210有两个独立的内存控制器:DMC0和DMC1,每个控制器又有两个片选:CS0和CS1.它 ...

  9. android查看报错日志,android运行错误日志帮看下 不懂啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 xmlns:tools="http://schemas.android.com/tools" android:id="@id ...

最新文章

  1. 用高中数学理解AI “深度学习”的基本原理
  2. IDEA 创建Web项目并在Tomcat中部署运行
  3. [导入]注意!玩具也能成危险
  4. linux获取命令的返回值,怎样获取shell函数的返回值及shell命令的返回值?
  5. 研究生数学建模比赛日程安排
  6. HSI颜色空间及其应用
  7. 我的postfix过滤邮件、群发邮件问题 跟某云平台的故事
  8. GDCM:gdcm::FileExplicitFilter的测试程序
  9. linux mint python3.6,Linux 上如何安装并切换最新版本的 Python 3.6
  10. python-opencv图像处理之SIFT尺度不变特征变换
  11. mysql索引下推原理_mysql的索引下推理解和实践
  12. android 软件测试文档,Android软件测试文档规范【参考】.doc
  13. 文件上传下载--DiskFileUpload
  14. uchome持久XSS(2.0版本测试通过)
  15. Duplicate Finder and Remover for Mac(重复文件查找删除工具)
  16. 为什么电脑总是弹出“拨号连接”界面?
  17. 直播 编解码、 协议、网络传输
  18. 邮政收件箱界面html,时尚邮件收件箱UI设计效果
  19. 阿里云 mysql参数_阿里云MYSQL数据库怎么修改参数值?
  20. 半导体初创企业中的RISC-V

热门文章

  1. Java 进阶:集合框架2
  2. 性能测试、 障碍条件和回滚
  3. linux 更改配置文件 禁止ssh,配置linux用户实现禁止ssh登陆但可用sftp登录
  4. oracle timestamp计算两分钟前_阿里数据库真的超过Oracle了么?
  5. Qt creator 中文显示问题(常量中有换行符或中文显示乱码)
  6. 一对矩阵的相关性_矩阵分析学习笔记(1)
  7. Unity4.3 遮挡剔除:基本知识
  8. MongoDB的导入与导出
  9. DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...
  10. UpdatePanel无法导出下载文件