大家好,我最近发现一个疑问,我在手机界面上看到的手机内存信息  used  200M   free 450M
      可是当我进入系统中进行查看时  
      adb shell   有root权限
      free 看到的信息是
              total         used         free       shared      buffers
  Mem:       799752       654764       144988            0        27360
 Swap:            0            0            0
Total:       799752       654764       144988      我想请问下这两者的差距怎么怎么大,是系统的原因么?谢谢
   

解决方案 »

  1.   

    手机内存信息查看:是手机厂商(应用程序)统计的信息,出路比较大通过adb shell free获取的手机内存信息,也只能当个参考,统计的虚拟机java层的内存,通过JNI那些分配的linux层内存是无法统计的
      

  2.   

    可以的 adb shell  dumpsys meminfo com.xxx.xxx 
    com.xxx.xxx即是你的程序名,如com.kevin.game。看前两行就行,分别是已分配和已使用的,每一行分为native和davik两部分
      

  3.   

    我用cat proc meminfo 看了下
    好像meminfo 是系统预留的内存,最后才用,active和inactive是系统的剩余内存,不知道对不对
      

  4.   

    android的机制跟ios的不一样,cat proc meminfo 取的应该是系统内存使用情况吧。而android对每一个进程是有一个内存上限的,具体每个rom是坑爹的不同,不过一般是2.2以下是16m,以上是24m
    而且。。情况还远远没这么简单。。也许能超出上限一部分,但不多。