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卡缓存的功能, ...
随机推荐
- (高精度运算4.7.21)UVA 10106 Product(大数乘法)
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class UVA_10106 ...
- HDU 5489 Removed Interval (LIS变形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5489 给你n个数,要删去其中连续的L个,问你删去之后的LIS最大是多少? 我们先预处理出以i下标为开头 ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
- 将nginx配置为服务,php-fpm配置说明
编写shell脚本 vi /etc/init.d/nginx #!/bin/bash # # Startup script for the PHP-FPM server. # # chkconfig: ...
- Unity3d:The requested item has been unloaded
问题描述:System.Xml类库下实例化的对象所有枚举类的值都显示如标题错误解决方案1:查看所在类是否:MonoBehaviour,如果没继承,添加即可.<ignore_js_op>
- Php最近1个月总结
1.数据库方面太薄弱. 2.对于Php性能的调优也没有用到很专业的工具. 3.大型网站的架构也没有一个概念,需要细致的了解.
- 闲话Cache:始篇
Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术.它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务 ...
- 【M23】考虑使用其他程序库
1.程序库的设计是一种权衡的结果.体积小,速度快往往不能移植.可移植,通用的程序库往往意味着冗余和效率低下. 2.因此,选择程序库的时候,需要进行取舍.比如:iostream和stdio.iostre ...
- jquery.validate使用攻略
主要分几部分 jquery.validate 基本用法 jquery.validate API说明 jquery.validate 自定义 jquery.validate 常见类型的验证代码 下载地址 ...
- 说说C#静态变量的诡异与恶心
发现一段很诡异的C#代码,见识了静态构造函数这种奇怪的东西: using System; namespace StaticTest { class A { public static int X; s ...