1)简介

一般人们在买手机的时候,在手机配置上都会出现“内存容量:512MB ROM+512MB RAM ”等等类似这样的说明,可能很多人都知道RAM的意思就是运存的意思,但是对于rom容量是什么意思,确很少有人知道,还有rom容量和ram容量有什么区别,知道的人也不是很多。今天安卓中文网小编就来为大家详细解释下rom容量是什么意思以及rom容量和ram容量有什么区别。

对于所谓的RAM其实就是运行内存的意思,人们简称为运存,它的作用是当开机后系统运行占一部分外,剩余的运行内存越大,手机速度越快,运行的程序越多,剩余越少。然而ROM就相当于C盘,大家都应该知道在用电脑的时候一般我们不会将安装程序安装到系统盘,因为那样可能会影响机器运行速度,因此rom容量的意思就类似于理解为手机中“C盘”的容量。因为ROM文件过多也会影响速度,不过存放到ROM的文件和程序,读取起来会比放到卡里的快的多。卡就像是除了C盘外的硬盘。当然ram和rom究竟多少合适还要看系统,系统对于内存的占用情况是有很大差距的。

2)代码部分

[java] view
plain
copy

  1. package com.example.androidtest4;
  2. import java.io.File;
  3. import java.text.DecimalFormat;
  4. import android.os.Bundle;
  5. import android.os.Environment;
  6. import android.os.StatFs;
  7. import android.app.Activity;
  8. import android.app.ActivityManager;
  9. import android.app.ActivityManager.MemoryInfo;
  10. import android.content.Context;
  11. import android.view.Menu;
  12. import android.widget.TextView;
  13. public class MainActivity extends Activity {
  14. private TextView rAMTextView=null;
  15. private TextView rOMTextView=null;
  16. private TextView sDTextView=null;
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_main);
  21. rAMTextView=(TextView)findViewById(R.id.rAMTextView);
  22. showRAMInfo();
  23. rOMTextView=(TextView)findViewById(R.id.rOMTextView);
  24. showROMInfo();
  25. sDTextView=(TextView)findViewById(R.id.sDTextView);
  26. showSDInfo();
  27. }
  28. /*显示RAM的可用和总容量,RAM相当于电脑的内存条*/
  29. private void showRAMInfo(){
  30. ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
  31. MemoryInfo mi=new MemoryInfo();
  32. am.getMemoryInfo(mi);
  33. String[] available=fileSize(mi.availMem);
  34. String[] total=fileSize(mi.totalMem);
  35. rAMTextView.setText("RAM "+available[0]+available[1]+"/"+total[0]+total[1]);
  36. }
  37. /*显示ROM的可用和总容量,ROM相当于电脑的C盘*/
  38. private void showROMInfo(){
  39. File file=Environment.getDataDirectory();
  40. StatFs statFs=new StatFs(file.getPath());
  41. long blockSize=statFs.getBlockSize();
  42. long totalBlocks=statFs.getBlockCount();
  43. long availableBlocks=statFs.getAvailableBlocks();
  44. String[] total=fileSize(totalBlocks*blockSize);
  45. String[] available=fileSize(availableBlocks*blockSize);
  46. rOMTextView.setText("ROM "+available[0]+available[1]+"/"+total[0]+total[1]);
  47. }
  48. /*显示SD卡的可用和总容量,SD卡就相当于电脑C盘以外的硬盘*/
  49. private void showSDInfo(){
  50. if(Environment.getExternalStorageState().equals
  51. (Environment.MEDIA_MOUNTED)){
  52. File file=Environment.getExternalStorageDirectory();
  53. StatFs statFs=new StatFs(file.getPath());
  54. long blockSize=statFs.getBlockSize();
  55. long totalBlocks=statFs.getBlockCount();
  56. long availableBlocks=statFs.getAvailableBlocks();
  57. String[] total=fileSize(totalBlocks*blockSize);
  58. String[] available=fileSize(availableBlocks*blockSize);
  59. sDTextView.setText("SD "+available[0]+available[1]+"/"+total[0]+total[1]);
  60. }else {
  61. sDTextView.setText("SD CARD 已删除");
  62. }
  63. }
  64. /*返回为字符串数组[0]为大小[1]为单位KB或者MB*/
  65. private String[] fileSize(long size){
  66. String str="";
  67. if(size>=1000){
  68. str="KB";
  69. size/=1000;
  70. if(size>=1000){
  71. str="MB";
  72. size/=1000;
  73. }
  74. }
  75. /*将每3个数字用,分隔如:1,000*/
  76. DecimalFormat formatter=new DecimalFormat();
  77. formatter.setGroupingSize(3);
  78. String result[]=new String[2];
  79. result[0]=formatter.format(size);
  80. result[1]=str;
  81. return result;
  82. }
  83. @Override
  84. public boolean onCreateOptionsMenu(Menu menu) {
  85. // Inflate the menu; this adds items to the action bar if it is present.
  86. getMenuInflater().inflate(R.menu.main, menu);
  87. return true;
  88. }
  89. }

Android读取RAM,ROM,SD卡容量的更多相关文章

  1. Android之外部存储(SD卡)

    *手机的外部存储空间,这个我们可以理解成电脑的外接移动硬盘,U盘也行.所有的Android设备都有两个文件存储区域:“内部”和“外部”存储器.这两个名称来自早期的Android,当时大多数设备都提供内 ...

  2. [android] 保存文件到SD卡

    /****************2016年5月4日 更新*****************************/ 知乎:为什么很多Android应用要把文件写到/sdcard目录下而不是写到/d ...

  3. Android数据存储之SD卡

    为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件.SD卡大大扩充手机的存储能力. 操作SD首先要加权限: <!--在SDCard中创建与删除文件权限 --> < ...

  4. android 写文件到sd卡问题小记

    android 写文件到sd卡问题小记 事情是这样子的.... 这天我开始编写项目调试工具,高大上不?-----其实就是记录实时网络请求和崩溃日志相关等的小工具(此处一个会心的微笑). 然后我是这样写 ...

  5. Android中播放本地SD卡中歌曲须要的加入的权限

    使用MediaPlayer播放本地Mp3文件时.须要注意的訪问路径的问题以及訪问权限的问题. 1.訪问路径:/storage/emulated/0 此路径即为手机的根路径,能够通过下载ES文件浏览器软 ...

  6. Android(java)学习笔记126:判断SD卡状态和SD卡容量

    1. 判断SD卡状态和SD卡存储空间大小 当我们在使用SD卡时候,如果我们想往SD卡里读写数据,我们必须在这之前进行一个逻辑判断,那就是判断SD卡状态和SD存储空间大小: 核心代码: String s ...

  7. Android设备内存和SD卡操作工具类

    package cc.c; import java.io.File; import java.util.List; import android.os.StatFs; import java.io.F ...

  8. 以 SPI 方式获取 SD 卡容量(V2.0)

    下面是 SD 卡 V2.0 协议的 CSD 寄存器内容,来自官方手册: 单片机如何确定当前的 SD 卡遵循 V2.0 协议 CSD 寄存器为 128 个位,即 16 个字节.通过检测 CSD 寄存器的 ...

  9. Android之——清理手机SD卡缓存

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47375595 眼下,市场上非常多Android手机软件都具有清理SD卡缓存的功能, ...

随机推荐

  1. js上三行下三行和添加多个附件

    function addTr(num) { no ++; var obj = document.getElementById(tableID); var oneRow = obj.insertRow( ...

  2. hdu 1045 Fire Net(最小覆盖点+构图(缩点))

    http://acm.hdu.edu.cn/showproblem.php?pid=1045 Fire Net Time Limit:1000MS     Memory Limit:32768KB   ...

  3. thinkphp 防止sql注入

    防止SQL注入 对于WEB应用来说,SQL注入攻击无疑是首要防范的安全问题,系统底层对于数据安全方面本身进行了很多的处理和相应的防范机制,例如: $User = M("User") ...

  4. C3P0连接池使用小结

    C3P0在最近的demo中也用了(我用的是0.9.2.1版本),因为单例很难应付大量并发. 用法详见文档:http://www.mchange.com/projects/c3p0/ 基本的用法在htt ...

  5. miniui datagrid 保存到服务端,使用.NET 自带 JSON 转换时发现日期格式不兼容。

    使用 miniui datagrid 修改表格后,保存到服务端,然后使用 .NET 自带 JSON 转换,会抛出DateTime 内容“2015-12-27T11:02:28”未按 JSON 的要求以 ...

  6. C:内存分配、内存中五大区

     1.内存的划分  (从高到低依次是: 栈区 . 堆区 .全局静态区 . 常量区 . 代码区 )栈区是系统自动回收,堆区是我们手动回收  2. 栈区   在函数内部定义的局部变量和数组.都存放在栈区, ...

  7. WPF让人哭笑不得的资源

    前几天遇到了一个让我哭笑不得的bug,我写的Wpf程序在Win7里可以运行,到XP.WindowsServer里运行点击某个控件之后闪退,不报任何错,在后台代码里trycatch也捕捉不到任何异常.很 ...

  8. Maven仓库的布局

    任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven的仓库布局方式.例如log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/ ...

  9. mac下xampp简单虚拟主机配置

    多域名,虚拟主机的配置 开启虚拟主机配置选项: 打开httpd.conf文件,找到httpd-vhosts.conf那一行,解除该行注释: 打开httpd-vhosts.conf文件 修改如下 < ...

  10. 一些关于Block, ARC, GCD的总结

    基础解释不做.基础的东西链接如下: 1. Block:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Bl ...