安卓Android getCacheDir()、getFilesDir()、getExternalCacheDir()、getExternalFilesDir() 区别
1. 有无Externel的区别:1.1 没有Externel:手机内部App存储路径一般是/data/data/包名,或者/data/user/0/包名,不同手机厂商的这个路径有差别1.2 有Externel:手机外部App存储路径(也就是SDCard路径)一般是SDCard/Android/data/包名,或者/storage/emulated/0/Android/data/包名...
·
1. 有无Externel的区别:
1.1 没有Externel:手机内部App存储路径
- 一般是
/data/data/包名
,或者/data/user/0/包名
,不同手机厂商的这个路径有差别
1.2 有Externel:手机外部App存储路径(也就是SDCard路径)
- 一般是
SDCard/Android/data/包名
,或者/storage/emulated/0/Android/data/包名
,不同手机厂商的这个路径有差别 - 注意:访问外部路径需要App拥有读写外部存储路径的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- 可以在访问之前用以下方法判断是否允许访问外部路径:
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { }
2. Cache和Files的区别
2.1 Cache:获取App的缓存路径,用来放一些临时文件
- 默认路径是
xxxxx/包名/cache
,不同手机厂商的这个路径有差别
2.2 Files:获取app的文件路径,用来放一些长期文件
- 默认路径是
xxxxx/包名/files
,不同手机厂商的这个路径有差别
2.3 Cache和Files分别对应【设置】里应用的【清除缓存】和【清除数据】功能,一些手机助手在清理垃圾文件的时候也是清理Cache缓存
更多推荐
所有评论(0)