手机内部存储和外部存储
getCacheDir(),getFilesDir(),getDir ,getExternalFilesDir(),getExternalCacheDir()
内部存储
getCacheDir() 用于获取/data/data/packagename/cache目录
getFilesDir() 用于获取/data/data/packagename/files目录
getDir(path,Context.MODE_PRIVATE) /data/data/packagename/app_path/path目录
外部存储
getExternalFilesDir() 用于获取/Android/data/packagename/files目录 对应应用详情里面的清除数据
getExternalCacheDir() 用于获取/Android/data/packagename/cache目录 对应应用详情里面的清除缓存
当app需要保存一些数据时,我们一般时都是在sd卡根目录下创建一个文件夹,然后把数据保存在这个文件夹中,但是当我们卸载app时,这些数据依然存在手机中,这样就造成了垃圾数据
当我们将这些数据保存在外部存储目录下时,当我们卸载app时,这些文件同时也被删除了
注意
-
应用访问自己的内部和外部存储目录是不需要权限的,而访问手机的其他目录是需要动态获取权限的。
即只要是/Android(data)/data/packagename/下的目录均不需要权限
当前应用的外部存储目录,其他应用也是可以访问的,只不过需要读取权限
当前应用的内部存储目录,其他应用是不可以访问的,即使有读取权限