所以我有一个 root 的 android 4.0.3 设备。每当我将某些东西安装到实际上是内部的“sd 卡”时,它也会创建这个/mnt/secure/asec 分区。以下是 df 的部分输出。
/mnt/sdcard 1G 65M 1G 4096
/mnt/secure/asec 1G 65M 1G 4096
现在,如果我尝试执行以下代码。
File f = new File("/mnt/sdcard");
long div = (1024*1024);
long d = f.getTotalSpace()/div;
Log.i("Capacity",String.valueOf(d));
它显示的值是 2Gb。这里发生了什么?为什么 android 4.0.3 仍然为这些安装在“sd 卡”上的 apk 创建安全挂载点?这不是 JellyBean 独有的功能吗?
最佳答案
What is going on here?
尝试使用 StatFs
而不是 getTotalSpace()
并查看您是否获得更好的结果。
And why is android 4.0.3 creating a secure mount point for these apks install on the 'sd card' anyway?
因为自 API 级别 8 中引入该功能以来,它已成为 Android 中安装到 SD 的一部分。
关于java - file.getTotalSpace() 返回实际值的两倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12758026/