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卡缓存的功能, ...
随机推荐
- ruby中实例变量、类变量等等的区别和联系
ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声 ...
- UVA 11983 Weird Advertisement(线段树求矩形并的面积)
UVA 11983 题目大意是说给你N个矩形,让你求被覆盖k次以上的点的总个数(x,y<1e9) 首先这个题有一个转化,吧每个矩形的x2,y2+1这样就转化为了求N个矩形被覆盖k次以上的区域的面 ...
- HDU2897邂逅明下(博弈)
题目是说每次每个人可以取[p,q],而且是最后一个不得不取完的人输 这道题刚刚看别人过,还一直纠结感觉不会做,然后想到1+q的倍数,还是不会,想到p+q的倍数,却发现最后一个取的人是输的,然后就更加无 ...
- LOTUS 迁移到Exchange 2010 POC 之在Exchange 2007 安装Lotus Admin!
双击Setup安装:
- 关于C#中文本模板(.tt)的简单应用
这两天做项目突遇 .tt文件,之前没有接触过,so查询学习做笔记,帮助记忆和后来者. 在项目添加中点击选择文本模板 下面贴出代码,做了简单的注释 <#@ template debug=" ...
- phantomjs
PhantomJS是以WebKit为核心并提供JavaScript编程接口(API)的无界面浏览器. 它提供对web标准的 快速 并且 原生 的支持: DOM操作.CSS选择符.JSON.Canvas ...
- Setting up Nutch 2.1 with MySQL to handle UTF-8
原文地址: http://nlp.solutions.asia/?p=180 These instructions assume Ubuntu 12.04 and Java 6 or 7 instal ...
- PostgreSQL的注释嵌套的例子
pgsql=# -- Multiline comments pgsql=# SELECT 'Multi' /* This comment extends across pgsql*# * number ...
- 标准C++中的STL容器类简单介绍
SGI -- Silicon Graphics[Computer System] Inc.硅图[计算机系统]公司. STL -- Standard Template Library 标准模板库. ...
- influxdb ERR: error parsing query: found -, expected
ERR: error parsing query: found -, expected 使用时遇到这个问题,执行语句: select * FROM test10-cc-core01 本来以为和sql语 ...