android获得sd卡和本机内存大小

本文提供了两种方法来获取Android设备上的存储信息:一是获取SD卡的剩余空间,单位为MB;二是获取当前系统的可用内存大小,同样以MB为单位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//获得sd卡剩余空间
public long getSDFreeSize() {
    //取得SD卡文件路径
    File path = Environment.getExternalStorageDirectory();
    StatFs sf = new StatFs(path.getPath());
    //获取单个数据块的大小(Byte)
    long blockSize = sf.getBlockSize();
    //空闲的数据块的数量
    long freeBlocks = sf.getAvailableBlocks();
    //返回SD卡空闲大小
    //return freeBlocks * blockSize;  //单位Byte
    //return (freeBlocks * blockSize)/1024;   //单位KB
    return (freeBlocks * blockSize) / 1024 / 1024; //单位MB
}

//获得本机内存大小
private long getAvailMemory() {
    //获取android当前可用内存大小
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
    am.getMemoryInfo(mi);
    //mi.avaiMem;当前系统可用内存
    //return Formatter.formatFileSize(getBaseContext(), mi.availMem);
    //将获得的内存大小规格化
    return mi.availMem / 1024 / 1024;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值