读书人

失去内存容量

发布时间: 2012-09-29 10:30:01 作者: rapoo

得到内存容量

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);}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;}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;}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;}}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();}}

?

读书人网 >移动开发

热点推荐