先贴下代码
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的大小不一致呢,而且还差别老大了。
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的大小不一致呢,而且还差别老大了。
解决方案 »
- 安装Android开发平台出问题
- 在facebook注册api失败,在填写验证码后,提示信息说我的时假账号,手机也验证过了,怎么办啊,就差这一步了
- 发一个游戏源代码--教你玩魔方
- 谁能给我讲一下这段代码,要详细
- ContentProvider中怎样实例化dbHelper?求解。。快哭了T_T...
- 如何将三个button铺满宽度呢?请指点!
- android 系统自带音乐 无法找到
- Android Studio中关于类的调用
- 将自己的Android工程打包成APK特别的慢!!!求解!!
- 移动app开发
- Android系统中如何实现程序调用media player
- android漂亮的ui都是怎么设计的
storage和内存没啥关系。这里问同学,应该都知道RAM和ROM的区别吧,但现在通常都是用flash代替ROM了。直接说就是:
am.getMemoryInfo, 返回的是系统的内存信息,这是确切的内存,基本上android的程序都要加载到内存中才能运行。setting里storage里的available space 指的是系统空余flash盘的大小, 就像获取你硬盘的大小一样。如果是PC,就是内存和硬盘的区别了,你说怎么会一致?
我还以为是一回事呢,写出来代码就像知道自己活得的对不对,以为在storage里看呢。