如何知道android中的内存大小?

时间:2011-02-22 03:47:30

标签: android storage

这是我的代码,

private String memSize(String path){
    StatFs stat = new StatFs(path);
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    long freeBlocks = stat.getFreeBlocks();
    long countBlocks = stat.getBlockCount();
    String fileSize = Formatter.formatFileSize(this, availableBlocks * blockSize);
    String maxSize = Formatter.formatFileSize(this, countBlocks * blockSize);

    String info = path.toString()
                    + "\nblockSize : " + Long.toString(blockSize)
                    + "\navailableBlocks : " + Long.toString(availableBlocks)
                    + "\nfreeBlocks : " + Long.toString(freeBlocks)
                    + "\nreservedBlocks : " + Long.toString(freeBlocks - availableBlocks)
                    + "\ncountBlocks : " + Long.toString(countBlocks)
                    + "\nspace : " + fileSize + " / " + maxSize
                    + "\n\n";
    return info;
}

我使用路径/data/sdcard来测试我的功能,并且它可以正常工作 但是当path为/时(我知道它是根路径),这就是结果。

  • blockSize:4096
  • availableBlocks:0
  • freeBlocks:0
  • reservedBlocks:0
  • countBlocks:0
  • 空间:0.00B / 0.00B

我认为根路径是SuperUser区域。可能需要一些许可才能访问 我的手机已经扎根了。你能告诉我下一步该做什么吗?

谢谢。

参考文献

1 个答案:

答案 0 :(得分:2)

您的内部存储空间未安装在/ data目录中。 android internal phone storage