android 如何 查看内存使用详情,android 查看内存使用情况
对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 查看内存使用情况相关推荐
- Android点击通知进入详情,Android 点击通知进入正在运行的程序
好久没写文章,今天遇到一个新需求,app正在通话过程切换到后台,点击通知栏的时候 回到通话界面. 直接上代码吧首先是实现通知的代码 NotificationCompat.Builder notific ...
- android 高仿京东商品详情,Android模仿京东商品详情 选择规格特效
效果.gif 最近我的5s实在卡的不行就打算买个手机,在京东上看手机的时候发现这个效果,感觉挺好玩的,就想着自己实现下,iOS版本有此效果,Android好像没有. 思路 看到这个效果我马上就想到了M ...
- 【转】android如何查看cpu的占用率和内存泄漏
原文网址:http://www.cnblogs.com/yejiurui/p/3472765.html 在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程 ...
- Android 查看每个应用的最大可用内存
http://blog.csdn.net/vshuang/article/details/39647167 Android 内存管理 &Memory Leak & OOM 分析 ...
- android如何查看cpu的占用率和内存泄漏
在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描 ...
- Android Studio使用profile简单优雅的查看内存变化
Android Studio使用profile简单优雅的查看内存变化 android项目想必大家对于oom异常都不陌生;但是如何去查看内存变化呢? 在此我给大家推荐两种简单的查看内存方式 还有一种就是 ...
- android 仿QQ五毛特效之查看红包领取详情界面
这篇是15年写的 没有审核成功,今天看到,重新发布了下,没想到发布成功了~~! 首先我们看下 上下滑动的效果 从左到右依次为 往上滑动的截图 发现在滑动的过程中可以发现以下3点: 1. 发起者 ...
- linux查看内存是单通道还是双通道,android /linux如何识别S5pv210 双通道不连续的内存?...
这位哥设置寄存器映射硬件内存连续的方法倒是不错 不过我不相信linux不支持不连续的物理内存接法. S5PV210有两个独立的内存控制器:DMC0和DMC1,每个控制器又有两个片选:CS0和CS1.它 ...
- android查看报错日志,android运行错误日志帮看下 不懂啊
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 xmlns:tools="http://schemas.android.com/tools" android:id="@id ...
最新文章
- 用高中数学理解AI “深度学习”的基本原理
- IDEA 创建Web项目并在Tomcat中部署运行
- [导入]注意!玩具也能成危险
- linux获取命令的返回值,怎样获取shell函数的返回值及shell命令的返回值?
- 研究生数学建模比赛日程安排
- HSI颜色空间及其应用
- 我的postfix过滤邮件、群发邮件问题 跟某云平台的故事
- GDCM:gdcm::FileExplicitFilter的测试程序
- linux mint python3.6,Linux 上如何安装并切换最新版本的 Python 3.6
- python-opencv图像处理之SIFT尺度不变特征变换
- mysql索引下推原理_mysql的索引下推理解和实践
- android 软件测试文档,Android软件测试文档规范【参考】.doc
- 文件上传下载--DiskFileUpload
- uchome持久XSS(2.0版本测试通过)
- Duplicate Finder and Remover for Mac(重复文件查找删除工具)
- 为什么电脑总是弹出“拨号连接”界面?
- 直播 编解码、 协议、网络传输
- 邮政收件箱界面html,时尚邮件收件箱UI设计效果
- 阿里云 mysql参数_阿里云MYSQL数据库怎么修改参数值?
- 半导体初创企业中的RISC-V
热门文章
- Java 进阶:集合框架2
- 性能测试、 障碍条件和回滚
- linux 更改配置文件 禁止ssh,配置linux用户实现禁止ssh登陆但可用sftp登录
- oracle timestamp计算两分钟前_阿里数据库真的超过Oracle了么?
- Qt creator 中文显示问题(常量中有换行符或中文显示乱码)
- 一对矩阵的相关性_矩阵分析学习笔记(1)
- Unity4.3 遮挡剔除:基本知识
- MongoDB的导入与导出
- DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...
- UpdatePanel无法导出下载文件