Android:计算剩余内存

public static long getInternalAvailableSpace()
	{
		long availableSpace = -1L;
		try
		{
			StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
			stat.restat(Environment.getDataDirectory().getPath());
			availableSpace = (long) stat.getAvailableBlocks()
					* (long) stat.getBlockSize() / 1048576;
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}

		return availableSpace;
	}
	public long TotalMemory()
    {
        StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());   
        long Total = ( (long) statFs.getBlockCount() *  (long) statFs.getBlockSize()) / 1048576;
        return Total;
    }

    public long FreeMemory()
    {
        StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());
        long Free  = (statFs.getAvailableBlocks() *  (long) statFs.getBlockSize()) / 1048576;
        return Free;
    }

    public long BusyMemory()
    {
        StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());   
        long Total = ( (long) statFs.getBlockCount() * (long) statFs.getBlockSize()) / 1048576;
        long Free  = (statFs.getAvailableBlocks() *  (long) statFs.getBlockSize()) / 1048576;
        long Busy  = Total - Free;
        return Busy;
    }

以MB为单位。

SD卡的只要修改路径为:

getExternalStorageDirectory


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值