设置文件下载路径时对存储空间是否充足的判断

通过StatFs来判断存储器还有多少空间

            if (sStatFs == null)
                sStatFs = new StatFs(path);
            else
                sStatFs.restat(path);
            availableSize = sStatFs.getAvailableBlocks() * (long) sStatFs.getBlockSize();


通过比较availableSize和fileSize的大小关系来判断该存储器还能不能放下这个文件

检查存储位置的顺序是外置SD——内置存储——缓存(缓存位置是mContext.getCacheDir();仍然通过StatFs来判断其可利用空间大小)

如果默认安装位置不是SD而是内置存储的话,就把外置SD的检查顺序放在最后。


----------------------------------------------------
StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况
StatFs 常用方法:
getAvailableBlocks()
解释:返回 Int ,获取当前可用的存储空间
getBlockCount()
解释:返回 Int ,获取该区域可用的文件系统数
getBlockSize()
解释:返回 Int ,大小,以字节为单位,一个文件系统
getFreeBlocks()
解释:返回 Int ,该块区域剩余的空间
restat(String path)
解释:执行一个由该对象所引用的文件系统





你可能感兴趣的:(android,statfs)