在上次存储数据的基础上增加了查看手机内存状态和sdcard卡内存状态的功能,此功能的实现主要是为了判断从网络上获取到的资源大小是否能够在本地存储。
对里面的各个功能进行了单独的封装,在实际的开发项目中将功能拿出来使用就可以了。
效果图如下:
计算内存大小的核心代码:
/**
* 获取内存大小
*
* @return 内存大小
*/
public static String getMomorySize(Context context, String path) {
StatFs statFs = new StatFs(path);
// 每一个块的大小
long blockSize = statFs.getBlockSize();
// 可用的块数
long availableBlocks = statFs.getAvailableBlocks();
// 总的块数
long blockCount = statFs.getBlockCount();
// 总空间大小的计算
long totalSize = blockSize * blockCount;
String totalSizeStr = Formatter.formatFileSize(context, totalSize);
// 可用空间大小的计算
long availableTotalSize = blockSize * availableBlocks;
String availableTotalSizeStr = Formatter.formatFileSize(context,
availableTotalSize);
return "总空间为:" + totalSizeStr + "可用空间为:" + availableTotalSizeStr;
}
源码下载通道:点我下载源码