如果Android引用程序需要缓存临时文件,系统提供了一个可管理的“内部缓存”和一个不可管理的“外部缓存”,分别调用getCacheDir()和getExternalCacheDir()方法,可以从当前上下文访问她们。存储在“内部缓存“的文件在一个用程序卸载的时候将会呗删除,当系统运行在低运行空间中也可能会被删除,但是存放在”外部缓存“中的文件则不会被删除,因为Android系统不允许追踪外部媒介的空用控件。

应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。
大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。
这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。
如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据

如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。

而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项

转载于:https://www.cnblogs.com/zhujiabin/p/5899442.html

Android应用程序文件缓存getCacheDir()和getExternalCacheDir()相关推荐

  1. android查看程序缓存文件,Android App的文件缓存目录

    Android app的文件缓存目录可以是app内置私有的目录,当然也可以选择外置sdcard目录 内置私有目录 /data/data/[packagename]/files 文件缓存目录,一般存小的 ...

  2. 小程序如何解决文件缓存问题?

    项目场景: 近期Joe大叔因工作需求,小程序需要实现打开图片文件和PDF功能.当然,被打开的文件是需要增加缓存策略的,要不然每次打开一个6M的PDF文件都去服务端下载然后再打开,会严重影响到小程序迅速 ...

  3. android 缓存文件目录在哪个文件夹里,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...

    先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统: 我们都知道Android系统内核就是个Linux.所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 &q ...

  4. 显示android缓存文件,android – 使用ACTION_VIEW在缓存目录中打开文件

    我一直在寻找这个,但我无法让它正常工作.让我解释. 我有一个Android应用程序,可以将文件(图像,文档,-)保存在缓存目录中.起初我曾经使用getExternalCacheDir()方法并将它们保 ...

  5. android 内部存储 清空,Android清空应用内部文件缓存

    Android应用中加载的图片以及一些数据缓存怎么清掉呢?最近在做项目中遇到了这个问题,网上搜了一下找到了不少的源代码,综合了这些源码,下面给大家说一下吧,怎么有效的清除应用内存的缓存信息? 清除应用 ...

  6. ionic应用程序文件保存和清除缓存

    ionic应用程序文件保存和清除缓存 一.简介 在开发ionic应用程序中,我们难免会涉及到文件的下载,并且将下载的文件(可以是png,pdf,zip等文件)保存到本地,时间一久,文件堆积过多,就需要 ...

  7. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决

    1.相关代码: 加入权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ...

  8. 应用程序文件Android安全分析挑战:运行时篡改Dalvik字节码

    发一下牢骚和主题无关: 本文章由Jack_Jia编写,转载请注明出处. 文章接链:http://blog.csdn.net/jiazhijun/article/details/8833710 作者:J ...

  9. 微信小程序开发工具 清除授权缓存/文件缓存/登录缓存等等

    今天2.19.3.25 在开发微信小程序时,作为测试号想清除授权缓存,一直没有找到方法, 最后无意中看到了解决方法 微信小程序开发工具 清除授权缓存/文件缓存/登录缓存等等.完美解决

最新文章

  1. php注入类,简单实用的PHP防注入类实例
  2. Leetcode 210. 课程表 II 解题思路及C++实现
  3. 大数据项目中的QA需要迎接新的挑战
  4. 搜索目录里所有文件(包括子目录)
  5. 【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集
  6. 如何在 C# 中使用 const,readonly,static
  7. java ipmi关闭服务器,Dell服务器的IPMI/iKVM使用方法(开机,关机,重启,重装系统)...
  8. 极狐+华为,小鹏+大疆,极氪+mobileye,自动驾驶成为“风向标”
  9. 2021年葡萄酒酿造及葡萄酒产业发展研究报告
  10. 每日学习(React,Redux)
  11. 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
  12. Mindmanager 安装过程中 ERROR 1320. The specified path is too long (文件路径) 等问题
  13. 水星MW300R-通用无线路由器安全设置-防蹭网-详解-教程
  14. NB-loT中的Niubility技术
  15. 个人整理shell脚本编程笔记
  16. vue网易云歌单案例
  17. 易语言模拟器中控源码 全新手游模拟器通用中控源码, 适用于各种游戏, 源码现成的只需要更换游戏就可以用哦
  18. 轴承故障诊断分类中常用的一些数据集介绍和获取方法
  19. soul显示服务器异常,soul聊天状态异常 消息发送失败
  20. Maven仓库管理器Nexus的安装配置

热门文章

  1. 高效 保活长连接:手把手教你实现 自适应的心跳保活机制
  2. python编程快速上手自动化_《Python编程快速上手 让繁琐工作自动化》完整版PDF...
  3. 梯度下降和导数的作用
  4. git 使用分支基础
  5. php root权限执行命令,如何使用PHP执行需要root权限的系统命令
  6. 示波器纹波测试的时间设置_500W电源横评:输出纹波3款电源超标
  7. echarts 3d饼图_Echarts 使用教程 1 基本使用方法
  8. u-boot移植随笔:使用svn进行版本控制
  9. 【算法】CRC 循环冗余校验
  10. 【kafka】控制台默认不能发送大数据 4096 4095 4129