Context.getExternalFilesDir()和Context.getExternalCacheDir()
2016-05-15 11:01
218 查看
应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。
大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。
这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。
如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?
通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据
如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。
而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项
如果要保存下载的内容,就不要放在以上目录下
大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。
这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。
如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?
通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据
如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。
而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项
如果要保存下载的内容,就不要放在以上目录下
相关文章推荐
- android开发笔记之多媒体—MediaPlayer + SurfaceView播放视频
- Week,Month, Year 日期区间辅助类
- XenAPP6.5安装于部署(二)---安装XenAPP
- python函数定义
- Spinner的使用案例
- spring mvc 任务定时器 @Scheduled
- iOS开源库源码解析之SDWebImage
- Java多线程面试总结
- HDU-4734 F(x) (数位DP)
- 基于FPGA的CAN总线控制器(支持CANFD)
- 第七周项目三-用多文件组织多个类的角色
- ListIterator的使用
- <%%>创建内联代码块(表达式)
- [LeetCode] Top K Frequent Elements
- 样式集小记上
- 样式集小记下
- POJ1236【图的前连通(缩点)】
- 最小的k个数
- 【Leetcode】Employees Earning More Than Their Managers
- 浅谈android中加载高清大图及图片压缩方式(二)