Android APP存储路径

1.APP被安装时系统分配在data分区上的存储路径;
2.APP访问不需要申请权限;APP私有,安全性最高;
3.(非root或非共享UID)其它APP无权访问
4.files和cache的区别:cache存储偏临时性的文件,在系统存储空间紧张时会被系统auto clean,应用设置中“清理缓存”会清理掉cache内文件;
5.APP卸载时或“清理数据”时,此2种路径下的所有文件都会被系统自动清理;

/data/../<packagename>/files/
(对应:Context.getFilesDir())


1.数据文件体积小(KB级别);
2.运行时只能在data区加载的文件(如:动态下载的so库,插件apk或hotfix Dex文件等)
3.安全性要求高的私密性文件;
4.记录方便用户继续使用的历史行为数据,不希望被频繁重置到默认值的数据文件;

/data/../<packagename>/cache/
(对应:Context.getCacheDir())


1.文件体积小(KB级别);
2.被频繁删除或重置后不影响用户历史状态功能的文件;
3.存储数据安全性相对较高,不希望被第三方获取到的临时文件



内置存储卡(或分区)(APP私有存储路径)

1.系统为每个APP分配的基于不可插拔内置存储卡(或分区)的路径;
2.APP私有的在存储卡上的空间,读写不需要特殊权限;
3. 三方应用在获取到存储卡动态权限后可以读写该目录下文件,在存储安全性相比data区要低;
4.files和cache的区别:cache存储偏临时性的文件,在系统存储空间紧张时会被系统auto clean,应用设置中“清理缓存”会清理掉cache内文件;
5.APP卸载时或“清理数据”时,此2种路径下的所有文件都会被系统自动清理;

1.存储体积较大的文件(例如:分发或自动更新的APK,下载的视频类文件,图片,ZIP压缩包等体积较大的文件);
2.存储对安全和隐私性要求不高的文件;

3.没有单独的编辑删除入口,频繁删除或重置后不影响用户历史状态功能的文件放在cache目录中;


<内存储卡根路径>/

Android/data/<packagename>/files/

(对应:Context.getExternalFilesDir())

<内存储卡根路径> /

Android/data/<packagename>/cache/
(对应:Context.getExternalCacheDir())



存储卡非APP私有存储路径

存储卡上非APP私有存储的其它路径(包括内置或可插拔的外置存储卡的非APP私有存储路径)

1.Android 6.0+和部分OEM定制6.0-系统要动态申请存储卡读写权限,用户授权后才能读写;
2.可插拔存储卡被移除后就数据无法访问;

 3.非系统指定的APP私有路径,卸载APP或清除数据时,对应的数据不会被清除,持久性强;

4.放置到公共存储卡上,其实更容易被工具类APP清理缓存时引导用户做清理,

因涉及用户动态权限,卸载APP后无法自动清理干净,一般不建议在此类路径下存储文件,有特殊需求的需要提出来Review审核


SharedPreferences
/data/../<packagename>/shared_prefs/

存储全局性的开关,基类型的键值对数据

Databse

/data/../<packagename>/databases/

存储APP内基于系统Sqlite数据库存储的


Android APP存储路径和缓存清理规范_安卓 app存储文件_沙漠一只雕得儿得儿的博客-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值