Android应用的清除数据和清除缓存

**[我的博客](https://zhaozhenye.github.io/)**

大家在用Android手机的时候肯定都遇到过内存剩余空间越来越小的情况;内存小的手机,如果安装新应用的时候,系统有时候甚至会提示你下载软件再安装;这时候我们可以打开手机应用管,进入软件管理,我们能看到清除数据和清除缓存的选项,通过这种方式我们可以释放不必要的内存空间,加速手机的运行速度,开辟新的使用空间;我们今天就看看我们点击的清除数据和清除缓存到底是清除了哪些文件?

为了看的更加具体,我们分两种情况看:sd卡正常挂载和sd不正常的情况(没有SD卡或者SD卡挂载不正常)

首先我们先看一下Android手机应用缓存和数据存储的位置:

//sd卡的路径

Log.i(TAG,"getExternalStorageDirectory: "+ Environment.getExternalStorageDirectory().getAbsolutePath());

//SD卡加载状态

Log.i(TAG,"getExternalStorageState: "+ Environment.getExternalStorageState());

//有SD卡的情况:应用的缓存目录

Log.i(TAG,"getExternalCacheDir: "+this.getExternalCacheDir().getAbsolutePath());

//无SD卡的情况:应用的缓存目录

Log.i(TAG,"getCacheDir: "+this.getCacheDir().getAbsolutePath());

//有SD卡的情况:应用的存储目录

Log.i(TAG,"getExternalFilesDir: "+this.getExternalFilesDir("test").getAbsolutePath());

//无SD卡的情况:应用的存储目录

Log.i(TAG,"getFilesDir: "+this.getFilesDir().getAbsolutePath());

接下来我们看log打印的结果:

我的测试应用包名是:com.zzy

根据日志信息我们能够清楚地看到:

SD的路径:/storage/emulated/0 

SD卡的挂载状态:mounted-->正常加载的状态值

有SD卡的情况:缓存路径:/storage/emulated/0/Android/data/com.zzy/cache

无SD卡的情况:缓存路径:/data/data/com.zzy/cache

有SD卡的情况 :下载路径:/storage/emulated/0/Android/data/com.zzy/files/test

无SD卡的情况:下载路径:getFilesDir: /data/data/com.zzy/files

现在我们已经能够清楚知道我们清楚数据和清除缓存的具体位置了;

当我们卸载应用的时候,系统会把data/应用包名  下面的files目录和cahe目录全部自动删除掉。但是如果我们把文件下载在SD卡的根路径,系统不会帮我们回收,需要用户手动删除,因此,优秀的程序员都应考虑良好的用户体验,即使由于某种原因卸载了我们的应用,我们还是应该在对应用数据位置进行最优的存储:临时数据存放在cache目录下,持久化的数据存储在files;

                                        纸上得来终觉浅,绝知此事要躬行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,253评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,500评论 25 709
  • permissionn.允许;批准,正式认可,认可user permission 使用权限permission D...
    lengol阅读 1,053评论 0 51
  • 在周五说一下自己投资方面的认知吧。李笑来本周更新了三张投资的表格。那么今天就围绕着三张表格展开我的升级之路吧! 第...
    yichen大刀阅读 214评论 0 0
  • getClientRects 获取元素占据页面的所有矩形区域 getBoundingClientRect 获得页面...
    smallseed阅读 1,298评论 0 1