dumpsys meminfo详解

简介: 笔记

先说命令,详细讲解放在后面


查看内存使用情况


  • adb shell dumpsys meminfo [pkg] 查看指定进程包名的内存使用情况


命令详解


android程序内存被分为2部分:native和dalvik,dalvik就是java堆,普通java对象是在java堆分配,而bitmap是直接在native上分配,对于内存的限制是 native+dalvik 不能超过最大限制。android程序内存一般限制在16M,当然也有24M的。

pplications Memory Usage (kB):
Uptime: 27199950 Realtime: 145023102
** MEMINFO in pid 20100 [com.laomou.memtest] **
                   Pss  Private  Private  Swapped     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap     1876     1544        0    15964    29440    27821     1618
  Dalvik Heap      780      740        0       36    17032    15133     1899
 Dalvik Other      496      312        0     8500                           
        Stack      136      136        0        4                           
    Other dev        4        0        4        0                           
     .so mmap      457       56      164     2696                           
    .apk mmap      127        0       20        0                           
    .dex mmap      386       44      340        4                           
    .oat mmap     1070        0      340        0                           
    .art mmap     1520      388      544      140                           
   Other mmap       11        8        0        0                           
      Unknown       92       92        0      116                           
        TOTAL     6955     3320     1412    27460    46472    42954     3517
 App Summary
                       Pss(KB)
                        ------
           Java Heap:     1672
         Native Heap:     1544
                Code:      964
               Stack:      136
            Graphics:        0
       Private Other:      416
              System:     2223
               TOTAL:     6955      TOTAL SWAP (KB):    27460
 Objects
               Views:        7         ViewRootImpl:        0
         AppContexts:        2           Activities:        1
              Assets:        4        AssetManagers:        2
       Local Binders:        3        Proxy Binders:        8
       Parcel memory:        2         Parcel count:       10
    Death Recipients:        0      OpenSSL Sockets:        0
 Dalvik
         isLargeHeap:    false
 SQL
         MEMORY_USED:        0
  PAGECACHE_OVERFLOW:        0          MALLOC_SIZE:        0
  • Objects
    查看参数,如果Views、Activities 不等于0的话,那么肯定存在内存泄漏。
  • Dalvik
    isLargeHeap: false
  • AndroidManifest.xml

<application android:largeHeap="false">

如果不是内存消耗大的应用,如图库之类,建议不要设置isLargeHeap=true


目录
相关文章
|
2月前
crash命令 —— fuser
crash命令 —— fuser
|
安全 Java Linux
RK3288 Android 7.1 dumpsys meminfo 无法获取内存信息问题
RK3288 Android 7.1 dumpsys meminfo 无法获取内存信息问题
342 0
RK3288 Android 7.1 dumpsys meminfo 无法获取内存信息问题
dumpsys activity 命令的使用
dumpsys activity 命令的使用
155 0
|
Shell Android开发 Windows
通过adb shell命令查看当前与用户交互的activity
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 在做android逆向的时候,有时候会需要知道当前的界面处于哪个Activity,这时候就可以使用adb shell命令来查看当前与用户交互的Activity名称。
3075 0
|
Shell Android开发
Android adb shell里面ls提示opendir failed, Permission denied
错误信息: 127|shell@android:/ $ cd /data cd /data shell@android:/data $ ls ls opendir failed, Permission denied 解决方法: 解决方法.
2584 0