先贴下代码
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
MemoryInfo info = new MemoryInfo();
am.getMemoryInfo(info);
return Formatter.formatFileSize(context, info.availMem);// 将获取的内存大小规格化 
这个是获得系统可用内存大小的代码,我输出的信息为什么跟setting里storage里的available space的大小不一致呢,而且还差别老大了。

解决方案 »

  1.   

    这就是一群对计算机没概念的人喊出来的,也不排除商家故弄玄虚乱喊忽悠消费者的。
    storage和内存没啥关系。这里问同学,应该都知道RAM和ROM的区别吧,但现在通常都是用flash代替ROM了。直接说就是:
    am.getMemoryInfo, 返回的是系统的内存信息,这是确切的内存,基本上android的程序都要加载到内存中才能运行。setting里storage里的available space 指的是系统空余flash盘的大小, 就像获取你硬盘的大小一样。如果是PC,就是内存和硬盘的区别了,你说怎么会一致?
      

  2.   

    哦,被鄙视了啊,5555.
    我还以为是一回事呢,写出来代码就像知道自己活得的对不对,以为在storage里看呢。