为什么很多Android应用要把文件写到/sdcard目录下而不是写到/data/data/目录下?
这两个文件夹区别在于 data 分区有权限控制,除非应用自己同意,否则其他应用无法读取内部的数据,而sdcard/Android下的文件只要有外置空间读取权限就可以读取。所以data下一般放私密信息,而sdcard/Android 下放可以公开的缓存数据。
关于有什么限制, 放在 data/data 底下, 也就是内部存储, 里面的文件以及文件夹是私有的, 其他 app 不能访问, 也随着 app 卸载而删除;
放在 sd 卡里面, 如果设置私有, 也就是 getExternalFilesDir 类似的方式去获取, 其他 app 也不能随便访问, 也随着 app 卸载而删除;// P.s: 这 4.4 之后不需要权限
也可以设置 public, 也就是用 getExternalStoragePublicDirectory() 类似的方式去获取, 其他 app 也能访问, 不会随着 app 卸载而删除.// P.s: 这需要外部读取存储权限
放在 sd 卡里面, 如果设置私有, 也就是 getExternalFilesDir 类似的方式去获取, 其他 app 也不能随便访问, 也随着 app 卸载而删除;// P.s: 这 4.4 之后不需要权限
也可以设置 public, 也就是用 getExternalStoragePublicDirectory() 类似的方式去获取, 其他 app 也能访问, 不会随着 app 卸载而删除.// P.s: 这需要外部读取存储权限