Android 存储使用参考
程序员文章站
2022-11-30 18:38:33
Android 存储树如下: ($rootDir)+- /data -> Environment.getDataDirectory()| || | ($appDataDir)| +- data/com.srain.cube.sample| || | ($filesDir)| +- files -> Context.getFilesDir() / Context.g...
Android 存储树如下:
($rootDir)
+- /data -> Environment.getDataDirectory()
| |
| | ($appDataDir)
| +- data/com.srain.cube.sample
| |
| | ($filesDir)
| +- files -> Context.getFilesDir() / Context.getFileStreamPath("")
| | |
| | +- file1 -> Context.getFileStreamPath("file1")
| | ($cacheDir)
| +- cache -> Context.getCacheDir()
| |
| +- app_$name ->(Context.getDir(String name, int mode)
|
| ($rootDir)
+- /storage/sdcard0 -> Environment.getExternalStorageDirectory()
| / Environment.getExternalStoragePublicDirectory("")
|
+- dir1 -> Environment.getExternalStoragePublicDirectory("dir1")
|
| ($appDataDir)
+- Andorid/data/com.srain.cube.sample
|
| ($filesDir)
+- files -> Context.getExternalFilesDir("")
| |
| +- file1 -> Context.getExternalFilesDir("file1")
| +- Music -> Context.getExternalFilesDir(Environment.Music);
| +- Picture -> ... Environment.Picture
| +- ...
|
| ($cacheDir)
+- cache -> Context.getExternalCacheDir()
|
+- ???
- 应用数据目录($appDataDir)包含:内部存储路径:
/data/data/$packageName
和外部存储路径/sdcard/Android/data/$packageName
,在 App被卸载后,会被系统删除,我们应该讲应用的数据存放于这两个目录中,需要用户额外保存的存放到外部存储其他目录中。 - 在$appDataDir下,一般包含数据缓存($cacheDir)和文件目录($filesDir)两个目录。
- 机身存储不足时,内部存储的$cacheDir目录下的文件会被删除,外部存储的$cacheDir目录不会
- 内部存储的$cacheDir和$filesDir文件是App安全的,其他应用无法读取;外部存储的这两个目录则不是,其他应用也可访问
- 外部存储的$filesDir中的媒体文件不会被当做媒体扫描出来加到媒体库中
本文地址:https://blog.csdn.net/tunmengsmile/article/details/107151637
推荐阅读