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缓存
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐