Android内部存储和外部存储,以及读取Android读取RAM,ROM内部存储和外部存储卡容量

Android内部存储和外部存储,参考http://blog.csdn.net/sinat_32955803/article/details/51259556及http://blog.csdn.net/fancylovejava/article/details/49490663

内部存储
系统存储├─物理位置是位于手机内部的非易失性存储器上,就是俗称的ROM(机身内存),他们三个分别位于不同的分区上,
系统缓存


内部存储是辅助存储器(ROM机身内存)的一部分。内部存储所指的就是 “/data”这个文件夹,对于普通用户是不可见的,我们一般的应用程序都是安装在这个分区下的。应该就是安装内存。
把手机连接电脑,能被电脑识别的部分就一定是外部存储,就是平时看到的手机存储空间。
所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备。
用代码获得手机内部存储2.92G/11.85G,外部存储2.87G/11.85G;平板内部存储4.92G/5.33G,外部存储4.77G/5.18G。手机总的16G,有4.14G应该是系统存储,但看内部的11.85、5.33也应该少了一部分,不知道是什么。还是没有搞得很清楚

Android读取RAM,ROM,SD卡容量
参考http://www.cnblogs.com/dongdong230/p/4183080.html

  1. /**
  2. *显示RAM的可用和总容量
  3. */   
  4.     private void showRAMInfo(){  
  5.         ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);  
  6.         MemoryInfo mi=new MemoryInfo();  
  7.         am.getMemoryInfo(mi);  
  8.         String[] available=fileSize(mi.availMem);  
  9.         String[] total=fileSize(mi.totalMem);  
  10.         rAMTextView.setText("RAM "+available[0]+available[1]+"/"+total[0]+total[1]);     
  11.     }  
  12. /**
  13. *显示ROM的可用和总容量 获取手机内部存储空间
  14. */
  15.     private void showROMInfo(){  
  16.         File file=Environment.getDataDirectory();   
  17.         StatFs statFs=new StatFs(file.getPath());    
  18.         long blockSize=statFs.getBlockSize();    
  19.         long totalBlocks=statFs.getBlockCount();    
  20.         long availableBlocks=statFs.getAvailableBlocks();    
  21.             
  22.         String[] total=fileSize(totalBlocks*blockSize);    
  23.         String[] available=fileSize(availableBlocks*blockSize);    
  24.             
  25.         rOMTextView.setText("ROM "+available[0]+available[1]+"/"+total[0]+total[1]);     
  26.     }  
  27. /**
  28. *显示SD卡的可用和总容量,获取手机外部存储空间
  29. */
  30.     private void showSDInfo(){  
  31.         if(Environment.getExternalStorageState().equals    
  32.         (Environment.MEDIA_MOUNTED)){//sd卡是否可用
  33.             File file=Environment.getExternalStorageDirectory();    
  34.             StatFs statFs=new StatFs(file.getPath());    
  35.             long blockSize=statFs.getBlockSize();    
  36.             long totalBlocks=statFs.getBlockCount();    
  37.             long availableBlocks=statFs.getAvailableBlocks();    
  38.                 
  39.             String[] total=fileSize(totalBlocks*blockSize);    
  40.             String[] available=fileSize(availableBlocks*blockSize);    
  41.                 
  42.             sDTextView.setText("SD "+available[0]+available[1]+"/"+total[0]+total[1]);    
  43.         }else {    
  44.             sDTextView.setText("SD CARD 已删除");    
  45.         }    
  46.     }  
  47.     /*返回为字符串数组[0]为大小[1]为单位KB或者MB*/    
  48.     private String[] fileSize(long size){  
  49.         float sizef = size;
  50.         int kmg = 1024;  
  51.         String str="";    
  52.         if(sizef>=kmg ){    
  53.             str="KB";    
  54.             sizef/=kmg ;    
  55.             if(sizef>=kmg ){    
  56.                 str="MB";    
  57.                 sizef/=kmg 
  58.                 if(sizef>=kmg){
  59.                     str="G";
  60.                     sizef/=kmg;    
  61.                 }          
  62.             }    
  63.         }    
  64.         /*将每3个数字用,分隔如:1,000*/    
  65.         DecimalFormat formatter=new DecimalFormat();    
  66.         formatter.setGroupingSize(3);    
  67.         String result[]=new String[2];    
  68.         result[0]=formatter.format(size);    
  69.         result[1]=str;    
  70.         return result;    
  71.     }    
  72.     @Override  
  73.     public boolean onCreateOptionsMenu(Menu menu) {  
  74.         // Inflate the menu; this adds items to the action bar if it is present.  
  75.         getMenuInflater().inflate(R.menu.main, menu);  
  76.         return true;  
  77.     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值