参考博客
彻底搞懂Android文件存储—内部存储,外部存储以及各种存储路径解惑
概览图
路径旁边的 @link标志的 是他们的该路径获取方法
/**
* Android的存储结构
*
* 1.内部存储(非内存):
* /data {@link Environment#getDataDirectory()}
* /data
* /package name
* /files {@link Context#getFilesDir()}
* /cache {@link Context#getCacheDir()}
* /自定义名称 {@link Context#getDir(String, int)} // {@link Context#MODE_PRIVATE}
* ...
* 2.外部存储:
* 2.1 机身
* /sdcard {@link Environment#getExternalStorageDirectory()} //注意不同的版本可能打印显示不同的名字(但是指向同一个目录)
* /Android
* /data
* /package name
* /files
* /自定义 {@link Context#getExternalFilesDir(String)}
* /cache {@link Context#getExternalCacheDir()}
* /other {@link Environment#getExternalStoragePublicDirectory(String)}
*
*
* 2.2 SD卡
* {@link Context#getExternalCacheDirs()} 遍历得到
*
* tips:
* 判断外部存储是否可用:
* {@link Environment#getExternalStorageState()} == {@link Environment#MEDIA_MOUNTED}
*/
说明
- 内部存储非内存,但是一般情况下我们不建议使用它,使用外部存储(如果外部存储不可用,则用内部存储)
- 注意**Android4.4(API19)**以前机身自带存储不算外部储存