这是获取android设备的存储设备(手机内存,SD卡内存)信息的代码
import java.io.File;   import android.os.Environment;   import android.os.StatFs;     public class MemoryStatus {         static final int ERROR = -1;              static public boolean externalMemoryAvailable() {           return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);       }          /**        * 获取可用的内部记忆大小        * @return        */    static public long getAvailableInternalMemorySize() {           File path = Environment.getDataDirectory();           StatFs stat = new StatFs(path.getPath());           long blockSize = stat.getBlockSize();           long availableBlocks = stat.getAvailableBlocks();           return availableBlocks * blockSize;       }          /**        * 获取总共内部内存大小        * @return        */    static public long getTotalInternalMemorySize() {           File path = Environment.getDataDirectory();           StatFs stat = new StatFs(path.getPath());           long blockSize = stat.getBlockSize();           long totalBlocks = stat.getBlockCount();           return totalBlocks * blockSize;       }              /**     * 获取可用外部记忆大小     * @return     */    static public long getAvailableExternalMemorySize() {           if(externalMemoryAvailable()) {               File path = Environment.getExternalStorageDirectory();               StatFs stat = new StatFs(path.getPath());               long blockSize = stat.getBlockSize();               long availableBlocks = stat.getAvailableBlocks();               return availableBlocks * blockSize;           } else {               return ERROR;           }       }              /**     * 获取总共外部记忆大小     * @return     */    static public long getTotalExternalMemorySize() {           if(externalMemoryAvailable()) {               File path = Environment.getExternalStorageDirectory();               StatFs stat = new StatFs(path.getPath());               long blockSize = stat.getBlockSize();               long totalBlocks = stat.getBlockCount();               return totalBlocks * blockSize;           } else {               return ERROR;           }       }              static public String formatSize(long size) {           String suffix = null;                  if (size >= 1024) {               suffix = "KiB";               size /= 1024;               if (size >= 1024) {                   suffix = "MiB";                   size /= 1024;               }           }                  StringBuilder resultBuffer = new StringBuilder(Long.toString(size));                  int commaOffset = resultBuffer.length() - 3;           while (commaOffset > 0) {               resultBuffer.insert(commaOffset, ',');               commaOffset -= 3;           }                  if (suffix != null)               resultBuffer.append(suffix);           return resultBuffer.toString();       }   }  

更多相关文章

  1. Android获取SD卡路径/内存的几种方法
  2. Android 内存浅析【一】【管理、机制、分析】
  3. android 可用内存的阀值
  4. Facebook推出强大Android图片库Fresco 自动释放内存 图片缓存 内
  5. Android 系统内存扫盲点
  6. android 可用内存的阀值--转载
  7. 【Android 内存优化】Bitmap 硬盘缓存 ( Google 官方 Bitmap 示
  8. Android图片的固定大小显示

随机推荐

  1. [Android]开发摇一摇分歧表决器过程
  2. Android(安卓)IPC编程简介
  3. Android应用程序UI硬件加速渲染技术简要
  4. fir.im Weekly - iOS / Android(安卓)动
  5. onTouchEvent, onClick及onLongClick的调
  6. AIDL --- Android中的远程接口
  7. android 设置控件的透明度
  8. step by step android
  9. 探究J2ME和Android的几大区别
  10. 最初程序员的思维“修炼”之四——Androi