内存与外存:
- 早期的 Android 手机分为内存、外存,内存是手机自带的,外存是可以额外添加的。
- 现在的 Android 手机普遍都只有内存,没有外存。
运行内存和其他内存:
内存可以分为运行内存和其他内存,如 6G/64G 的手机指的就是 6G 的运行内存和 64G 的其他内存。
- 运行内存使用 RAM(Random Access Memory),读写速度更快。
- 其他内存使用 ROM(Read Only Memory),更便宜。
(原始的 ROM 只能读,后来出现了可读可写的 Flash Memory,但习惯上仍叫做 ROM)
私有内存和共有内存:
其他内存可分为私有内存和共有内存。
- 私有内存包括 data、cache、system 等目录。
- 共有内存指 storage 目录。
/sdcard、/storage/sdcard、/mnt/sdcard、/storage/sdcard0:
- /sdcard、/mnt/sdcard、/storage/sdcard0,都是一个软链接,指向:
- /storage/sdcard 不存在
/data/data 与 /data/user/0:
- 单用户时,/data/data 指用户数据文件夹
- 多用户时,/data/user/0 指用户 0 的数据文件夹
/data/data、/sdcard/Android/data、/sdcard:
- 目录会在应用卸载后自动删除,只有本应用可读写,读写无需权限
- 目录会在应用卸载后自动删除,所有应用均可读写,本应用读写无需权限,其他应用读写需权限
- 中的其他目录,不会在应用卸载后自动删除,所有应用均可读写,读写需权限
/data/data/packagename 目录的大小:
-
/data/data/packagename 的大小就是 /data 的大小,/data 目录大小没有限制。通过 adb shell df 查看 ,发现 data、sdcard 的总空间、可用空间都一致,即它们位于一个分区,共享同样的空间。
(似乎很早之前它们是不同的,见http://www.miui.com/thread-1355995-1-1.html) -
目录也位于 sdcard 的分区。
常用存储路径的获取方法:
目录测试:
小米 mix 2,android 9.0(如下图)
小米 4,android 6.0(如下图)
荣耀 5A,android 6.0(比下图多了一个存在的,/storage/sdcard0 也是一个软链接,指向 /storage/emulated/0)