`

Android 查看内存使用情况

阅读更多

Android 查看内存使用情况

分类: Android 191人阅读 评论(0) 收藏 举报

再看开发过程中,经常要通过内存的使用量来优化程序。

查看应用程序的命令:adb shell procrank

显示如下:

  PID      Vss      Rss      Pss      Uss  cmdline
  190   79560K   74736K   49624K   43604K  system_server
14335   55776K   55740K   31308K   26676K  com.android.launcher2
13074   47408K   47380K   24947K   22428K  com.android.settings
 7626   42060K   42028K   21312K   18432K  com.android.systemui
13948   32992K   32944K   11687K    9800K  android.process.acore
  283   25516K   25476K    8136K    7148K  com.android.phone
  422   24560K   24524K    7338K    6292K  com.android.inputmethod.pinyin
12871   25804K   25740K    6288K    4880K  com.snda.tt
  454   23672K   23616K    5735K    4544K  com.google.process.gapps
14723   25744K   25684K    5706K    4100K  com.rili.android.client
14844   23816K   23752K    4706K    3276K  com.dopid.android
14601   23980K   23920K    4686K    3432K  android.process.media
13060   22892K   22828K    4570K    3428K  com.tencent.WBlog
13303   22876K   22820K    4013K    2852K  com.android.vending
13396   21672K   21608K    3978K    2960K  com.limitfan.gojuuon
   93    4132K    4112K    3322K    3164K  /system/bin/mediaserver
  603   18732K   18668K    3274K    2476K  com.mediatek.mdlogger
  420   18676K   18616K    3033K    2220K  com.mediatek.bluetooth
14734   21744K   21680K    3010K    1868K  com.yingyonghui.market
14829   20792K   20728K    3002K    1924K  com.uucun105286.android.cms
13323   20312K   20248K    2851K    1848K  com.cootek.smartinputv5
   92   20008K   19932K    2680K    1556K  zygote
  111    2008K    2004K    1438K    1396K  /system/bin/drmserver
  105    1852K    1848K    1355K    1324K  /system/bin/em_svr
  108    1512K    1504K    1100K    1080K  /system/bin/mdpd
 7696     816K     812K     501K     468K  /system/bin/wpa_supplicant
  167     780K     776K     429K     416K  /system/bin/rild
   96     560K     556K     237K     228K  /system/bin/mtkbt
   84     484K     480K     234K     224K  /system/bin/vold
   85     576K     572K     229K     216K  /system/bin/netd
    1     284K     284K     210K     172K  /init
  103     424K     420K     200K     196K  /system/bin/mtk_agpsd
  150     420K     416K     192K     188K  /system/bin/gsm0710muxd
  151    1036K     508K     181K     172K  /system/bin/mdlogger
   91     516K     512K     173K     164K  /system/bin/dm_agent_binder
  110     184K     184K     164K     164K  /sbin/adbd
   80     388K     384K     162K     156K  /system/bin/aee_aed
  106     496K     492K     161K     152K  /system/bin/nvram_agent_binder
14682     416K     412K     141K     132K  /system/bin/dhcpcd
14873     356K     348K     139K     132K  /system/bin/sh
   88     372K     368K     136K     128K  /system/bin/hald
  100     368K     364K     129K     124K  /system/bin/installd
   99     340K     336K     120K     116K  /system/bin/atci
   87     348K     344K     116K     112K  /system/bin/mobile_log_d
   64     152K     152K     114K      76K  /sbin/ueventd
 7689     340K     336K     110K     104K  /system/bin/debuggerd
   86     324K     320K     109K     104K  /system/bin/netdiag
  353     316K     312K      96K      92K  /system/xbin/mnld
   94     284K     276K      92K      88K  /system/bin/dbus-daemon
  146     272K     268K      92K      88K  /system/bin/memsicd
   97     368K     276K      87K      84K  /system/bin/ccci_fsd
  102     268K     260K      87K      84K  /system/bin/keystore
14681     312K     304K      81K      72K  /system/bin/logwrapper
   83     256K     248K      75K      72K  /system/bin/servicemanager
   95     252K     244K      75K      72K  /system/bin/6620_launcher
 7694     272K     264K      73K      68K  /system/bin/logwrapper
  109     232K     224K      66K      64K  /system/bin/sh
   98     236K     228K      59K      56K  /system/bin/ccci_mdinit

 

 

注:
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

 

 


 

查看单个应用程序内存占用量的命令:adb shell dumpsys meminfo $包名 或者 $进程号 //当然你也可以adb shell进去后在输入余下部分。

显示如下:

Applications Memory Usage (kB):
Uptime: 70102403 Realtime: 104776333


** MEMINFO in pid 14335 [com.android.launcher2] **
                    native   dalvik    other    total
            size:    27576     8455      N/A    36031
       allocated:    26850     5311      N/A    32161
            free:      385     3144      N/A     3529
           (Pss):    13830     1134    16034    30998
  (shared dirty):     2980     1932    13776    18688
    (priv dirty):    13736      184    12504    26424
 
 Objects
           Views:        0        ViewRoots:        0
     AppContexts:        0       Activities:        0
          Assets:        3    AssetManagers:        3
   Local Binders:      162    Proxy Binders:       81
Death Recipients:        1
 OpenSSL Sockets:        0
 
 SQL
               heap:     3063         MEMORY_USED:     3063
 PAGECACHE_OVERFLOW:     2266         MALLOC_SIZE:       50
 
 DATABASES
      pgsz     dbsz   Lookaside(b)  Dbname
         1     2544            500  launcher.db

 

有了这些,调试应用程序的内存问题容易多了

分享到:
评论

相关推荐

    Unity调用Android查看内存信息2

    在Unity中,我们可以通过Profiler的Memory部分查看应用的内存占用,但要获取更详细的内存使用情况,就需要借助之前提到的Android原生API。通过传递回来的内存信息,我们可以在Unity的UI上显示这些数据,帮助开发者...

    Unity调用Android查看内存信息1

    本文将深入探讨如何在Unity中调用Android API来查看内存使用情况、系统内存状态以及FPS(帧率)信息,这些数据对于游戏性能优化至关重要。 首先,我们需要在Unity项目中创建一个Android插件。创建一个新的Java类,...

    UnityAndroid/iOS查看真机内存使用情况插件

    "UnityAndroid/iOS查看真机内存使用情况插件" 提供了一种方便的方式来监控和分析在真实设备上的内存消耗。以下是关于这个插件及其相关知识点的详细介绍: 1. **Unity引擎**:Unity是一款跨平台的游戏开发工具,支持...

    使用Android Studio检测内存泄露(LeakCanary)

    Memory Profiler是Android Studio内置的一个强大工具,它允许开发者实时监控应用的内存使用情况。在Memory面板中,你可以开启或关闭内存监测,手动触发垃圾收集(GC),以及生成heap dump文件。通过分析heap dump,...

    android应用内存监控工具

    理解Android内存机制,掌握内存监控工具的使用,结合实际项目不断优化代码,是每个Android开发者必备的技能。定期进行内存分析,对应用进行压力测试,及时发现和修复问题,可以有效提升应用的质量和用户体验。

    Android获取cpu,内存,磁盘使用率信息

    内存使用率的获取相对复杂,因为Android提供了多种方式来查看内存状态。`ActivityManager.MemoryInfo`类提供了关于设备内存的详细信息,包括总内存、可用内存、低内存状态等。通过`ActivityManager.getMemoryInfo()`...

    android 获取cpu使用率, 内存 实时数据

    在实际开发中,这些数据可以用于创建一个实时监控界面,显示设备的CPU使用率和内存使用情况。例如,可以每隔一段时间调用上述方法获取数据并更新UI。同时,也可以结合其他系统指标,如磁盘I/O、网络流量等,为用户...

    M8 android dump内存工具

    内存dump的结果文件`tmp.txt`包含了设备内存的详细信息,包括但不限于进程状态、内存分配情况、堆信息等。开发者可以使用这些数据来分析应用的内存占用、查找内存泄漏、或者比较不同运行时刻的内存状态。例如,如果...

    Android代码-查看手机应用的CPU和内存资源的使用情况

    Due to undocumented changes made by Google, on Android 7.0 CPU usage information for processes others than the own AnotherMonitor one will not be available (not even with root access). Rest of the app...

    android手机内存分配小结

    对于Android内存的监控和调试,我们可以使用adb工具进行深入分析。在没有专门的调试工具如trace32时,可以执行以下步骤: 1. 连接adb shell到设备。 2. 创建并挂载一个debugfs文件系统:`mkdir /data/debug`,然后`...

    Android MAT 内存分析 工具

    **五、MAT与Android内存优化** MAT在Android开发中的应用主要是查找和修复内存泄漏,优化对象生命周期管理,减少内存占用,提升应用性能。开发者应定期进行内存分析,特别是在处理大量数据或长时间运行的应用中。 ...

    android 轻松避免内存溢出

    1. **Android内存机制**: - Android系统为每个应用程序分配了一定量的内存,不同版本的Android系统分配的内存大小不同。 - 当应用占用的内存超过分配的阈值时,就会触发垃圾回收(Garbage Collection, GC),回收...

    Android获取App内存使用情况的方法

    Android 获取 App 内存使用情况的方法 Android 操作系统中,获取 App 内存使用情况是非常重要的,通过了解 App 的内存使用情况,可以更好地优化 App 的性能和稳定性。本文将介绍三种获取 Android App 内存使用情况...

    Android Native 内存泄漏系统化解决方案

    Android Native 内存泄漏系统化解决方案 在 Android 平台上,C++ 内存泄漏问题的分析和定位一直是困扰开发人员的难题,因为地图渲染、导航等核心功能对性能要求很高,高德地图 APP 中存在大量的 C++ 代码。解决这个...

    Android内存查看和debug

    在探讨“Android内存查看与debug”这一主题时,我们深入剖析了如何在Android开发中有效管理内存,尤其是在遇到系统死机或OutOfMemoryError(OOM)等问题时。以下是从标题、描述、标签以及部分内容中提取的关键知识点...

    Android防止内存溢出浅析.zip

    1. **Android内存管理机制** - **Dalvik/ART虚拟机**:Android系统使用Dalvik或ART虚拟机执行应用程序,它们都有自己的内存管理策略。 - **堆内存**:Java对象主要存储在堆中,Android为每个应用分配了一定量的堆...

    android模拟内存分配

    通过这样的测试,开发者可以了解内存使用情况,查找内存泄漏,以及优化内存分配策略。例如,LeakCanary和MAT(Memory Analyzer Tool)都是常用的内存分析工具,它们可以帮助开发者定位潜在的问题,并提供改进建议。 ...

    Android内存管理小结

    以上内容覆盖了Android内存管理的关键知识点,从Dalvik虚拟机的特点到具体的内存管理工具使用,再到常见内存问题及其解决办法,以及优化代码的实践技巧。这些知识点对于Android开发者来说是非常宝贵的资源,能够帮助...

    Android内存泄漏简介

    对于Android内存泄漏的检测和解决,开发者可以使用多种工具和方法。Android Studio中就集成有Profiler工具,可以帮助开发者监控应用程序的内存使用情况,并识别内存泄漏。此外,还有一些第三方的内存泄漏检测工具,...

    android模拟内存分配与回收

    本教程将深入探讨这两种算法——循环首次适应算法(First Fit)和最佳适应算法(Best Fit),以及它们在Android内存管理中的应用。 循环首次适应算法是一种简单的内存分配策略。当一个进程请求内存时,系统会从内存...

Global site tag (gtag.js) - Google Analytics