Android读取RAM,ROM,SD卡容量
1)简介
一般人们在买手机的时候,在手机配置上都会出现“内存容量:512MB ROM+512MB RAM ”等等类似这样的说明,可能很多人都知道RAM的意思就是运存的意思,但是对于rom容量是什么意思,确很少有人知道,还有rom容量和ram容量有什么区别,知道的人也不是很多。今天安卓中文网小编就来为大家详细解释下rom容量是什么意思以及rom容量和ram容量有什么区别。
对于所谓的RAM其实就是运行内存的意思,人们简称为运存,它的作用是当开机后系统运行占一部分外,剩余的运行内存越大,手机速度越快,运行的程序越多,剩余越少。然而ROM就相当于C盘,大家都应该知道在用电脑的时候一般我们不会将安装程序安装到系统盘,因为那样可能会影响机器运行速度,因此rom容量的意思就类似于理解为手机中“C盘”的容量。因为ROM文件过多也会影响速度,不过存放到ROM的文件和程序,读取起来会比放到卡里的快的多。卡就像是除了C盘外的硬盘。当然ram和rom究竟多少合适还要看系统,系统对于内存的占用情况是有很大差距的。
2)代码部分
- package com.example.androidtest4;
- import java.io.File;
- import java.text.DecimalFormat;
- import android.os.Bundle;
- import android.os.Environment;
- import android.os.StatFs;
- import android.app.Activity;
- import android.app.ActivityManager;
- import android.app.ActivityManager.MemoryInfo;
- import android.content.Context;
- import android.view.Menu;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- private TextView rAMTextView=null;
- private TextView rOMTextView=null;
- private TextView sDTextView=null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- rAMTextView=(TextView)findViewById(R.id.rAMTextView);
- showRAMInfo();
- rOMTextView=(TextView)findViewById(R.id.rOMTextView);
- showROMInfo();
- sDTextView=(TextView)findViewById(R.id.sDTextView);
- showSDInfo();
- }
- /*显示RAM的可用和总容量,RAM相当于电脑的内存条*/
- private void showRAMInfo(){
- ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
- MemoryInfo mi=new MemoryInfo();
- am.getMemoryInfo(mi);
- String[] available=fileSize(mi.availMem);
- String[] total=fileSize(mi.totalMem);
- rAMTextView.setText("RAM "+available[0]+available[1]+"/"+total[0]+total[1]);
- }
- /*显示ROM的可用和总容量,ROM相当于电脑的C盘*/
- private void showROMInfo(){
- File file=Environment.getDataDirectory();
- StatFs statFs=new StatFs(file.getPath());
- long blockSize=statFs.getBlockSize();
- long totalBlocks=statFs.getBlockCount();
- long availableBlocks=statFs.getAvailableBlocks();
- String[] total=fileSize(totalBlocks*blockSize);
- String[] available=fileSize(availableBlocks*blockSize);
- rOMTextView.setText("ROM "+available[0]+available[1]+"/"+total[0]+total[1]);
- }
- /*显示SD卡的可用和总容量,SD卡就相当于电脑C盘以外的硬盘*/
- private void showSDInfo(){
- if(Environment.getExternalStorageState().equals
- (Environment.MEDIA_MOUNTED)){
- File file=Environment.getExternalStorageDirectory();
- StatFs statFs=new StatFs(file.getPath());
- long blockSize=statFs.getBlockSize();
- long totalBlocks=statFs.getBlockCount();
- long availableBlocks=statFs.getAvailableBlocks();
- String[] total=fileSize(totalBlocks*blockSize);
- String[] available=fileSize(availableBlocks*blockSize);
- sDTextView.setText("SD "+available[0]+available[1]+"/"+total[0]+total[1]);
- }else {
- sDTextView.setText("SD CARD 已删除");
- }
- }
- /*返回为字符串数组[0]为大小[1]为单位KB或者MB*/
- private String[] fileSize(long size){
- String str="";
- if(size>=1000){
- str="KB";
- size/=1000;
- if(size>=1000){
- str="MB";
- size/=1000;
- }
- }
- /*将每3个数字用,分隔如:1,000*/
- DecimalFormat formatter=new DecimalFormat();
- formatter.setGroupingSize(3);
- String result[]=new String[2];
- result[0]=formatter.format(size);
- result[1]=str;
- return result;
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
Android读取RAM,ROM,SD卡容量的更多相关文章
- Android之外部存储(SD卡)
*手机的外部存储空间,这个我们可以理解成电脑的外接移动硬盘,U盘也行.所有的Android设备都有两个文件存储区域:“内部”和“外部”存储器.这两个名称来自早期的Android,当时大多数设备都提供内 ...
- [android] 保存文件到SD卡
/****************2016年5月4日 更新*****************************/ 知乎:为什么很多Android应用要把文件写到/sdcard目录下而不是写到/d ...
- Android数据存储之SD卡
为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件.SD卡大大扩充手机的存储能力. 操作SD首先要加权限: <!--在SDCard中创建与删除文件权限 --> < ...
- android 写文件到sd卡问题小记
android 写文件到sd卡问题小记 事情是这样子的.... 这天我开始编写项目调试工具,高大上不?-----其实就是记录实时网络请求和崩溃日志相关等的小工具(此处一个会心的微笑). 然后我是这样写 ...
- Android中播放本地SD卡中歌曲须要的加入的权限
使用MediaPlayer播放本地Mp3文件时.须要注意的訪问路径的问题以及訪问权限的问题. 1.訪问路径:/storage/emulated/0 此路径即为手机的根路径,能够通过下载ES文件浏览器软 ...
- Android(java)学习笔记126:判断SD卡状态和SD卡容量
1. 判断SD卡状态和SD卡存储空间大小 当我们在使用SD卡时候,如果我们想往SD卡里读写数据,我们必须在这之前进行一个逻辑判断,那就是判断SD卡状态和SD存储空间大小: 核心代码: String s ...
- Android设备内存和SD卡操作工具类
package cc.c; import java.io.File; import java.util.List; import android.os.StatFs; import java.io.F ...
- 以 SPI 方式获取 SD 卡容量(V2.0)
下面是 SD 卡 V2.0 协议的 CSD 寄存器内容,来自官方手册: 单片机如何确定当前的 SD 卡遵循 V2.0 协议 CSD 寄存器为 128 个位,即 16 个字节.通过检测 CSD 寄存器的 ...
- Android之——清理手机SD卡缓存
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47375595 眼下,市场上非常多Android手机软件都具有清理SD卡缓存的功能, ...
随机推荐
- nyoj 119 士兵杀敌(三)(RMQ)
士兵杀敌(三) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进 ...
- Database事件研究
1.Database.ObjectAppended.ObjectModified.ObjectErased事件 此事件如果不是Transaction提交而触发的,那么可以在事件内部使用Transact ...
- Intellij IDEA 14.x 中的Facets和Artifacts的区别
Facets和Artifacts的区别: Facets 表示这个module有什么特征,比如 Web,Spring和Hibernate等: Artifact 是maven中的一个概念,表示某个modu ...
- .java 文件中只能定义一个public class 且与文件名相同
- JVM的内存管理机制
在做Java开发的时候常用的JVM内存管理有两种,一种是堆内存,一种是栈内存.堆内存主要用来存储程序在运行时创建或实例化的对象与变量,例如:我们通过new MyClass()创建的类MyClass的对 ...
- Spring+jpa+access
========访问数据库的属于文件============ driver=com.hxtt.sql.access.AccessDriverurl=jdbc:access:/D:/eclipse/pr ...
- weblogic日志小结
weblogic日志小结 http://blog.csdn.net/forest_hou/article/details/5468222
- Android ImageView scaleType属性
scaleType属性 文章来源:http://blog.csdn.net/xilibi2003/article/details/6628668 使用ImageView时经常会用到scaleType属 ...
- Nginx系列~Nginx服务启动不了
Nginx服务有时起动不了了,原因是80端口为其它应用程序占用了,这时,我们需要查看是哪个程序占用了它,可能是IIS的某个站点,或者Tomat,Apache等,都有可能,所以,我们需要查看一下电脑80 ...
- IOS学习经验总结--来自知乎网友
转自知乎:http://www.zhihu.com/question/20016551 我当时刚学iOS开发的时候一样的感觉 总想知道原理 内部怎么回事 感觉在像在雾里但是iOS开发就是这样 他是封闭 ...