在平时开发当中,我们可能会纠结什么文件该存储在哪个目录下面,要么是不确定放哪,要么是放多了以后放乱了。那就弄清楚哪些文件存哪里吧。
1.外部存储(SD卡存储)
- SD卡根目录,目录为 /storage/emulated/0
Environment.getExternalStorageDirectory()
- 目录为 /storage/emulated/0/Android/data/packagename/cache
(packagename为应用包名)
getExternalCacheDir()
- 目录为 /storage/emulated/0/Android/data/packagename/files
getExternalFilesDir(null)
2.内部存储(手机内部存储)
- 目录为 /data
getDataDir()
- 应用缓存目录 /data/data/packagename/cache
getCacheDir()
- 应用文件目录 /data/data/packagename/files
getFilesDir()
总结:
getCacheDir和getFilesDir目录必须是root的手机在文件操作系统中才能看到。如果在应用程序中清空数据或者卸载应用,那这两个目录下的文件也将会被清空。
getExternalCacheDir()与getExternalFilesDir(null)直接在文件系统下Android/data/packagename能看到。如果应用卸载,该目录下的文件会被删除掉。
Environment.getExternalStorageDirectory()目录下创建的文件不会因程序卸载被清除掉。
网友评论