从内部存储空间访问,可以使用 getFilesDir() 或 getCacheDir() 方法
从外部存储空间访问,可以使用 getExternalFilesDir() 或 getExternalCacheDir() 方法
加External和不加的比较:
相同点:
1. 都可以做app缓存目录。
2. app卸载后,两个目录下的数据都会被清空。
getFilesDir路径为:
/storage/emulated/0/Android/data/***包名***/files/recording-100812.mp4
getExternalFilesDir路径为:
/data/user/0/***包名***/files/recording-101012.mp4
不同点:
1、目录的路径不同。前者的目录存在外部SD卡上的。后者的目录存在app的内部存储上。
2、前者的路径在手机里可以直接看到。后者的路径需要root以后,用Root Explorer 文件管理器才能看到。
缓存非媒体文件
您应该使用的方法取决于您需要缓存的文件类型。
-
小文件或包含敏感信息的文件:请使用
Context#getCacheDir()
。 -
大型文件或不含敏感信息的文件:请使用
Context#getExternalCacheDir()
。
https://www.jianshu.com/p/ce7d64bfc28f
参考:
https://developer.android.google.cn/training/data-storage?hl=zh-cn#scoped-storage
https://developer.android.google.cn/training/data-storage/use-cases?hl=zh-cn