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

die*_*and 7 storage android

这是我的代码,

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;
}
Run Code Online (Sandbox Code Playgroud)

我测试功能与路径/data,并/sdcard和它的作品
但当路径是/(我的理解是根路径),这就是结果.

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

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

谢谢.

参考

Moj*_*sin 2

您的内部存储未安装在 / 中,而是安装在 /data 目录中。Android 手机内部存储