Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
2015-06-10 15:10
399 查看
应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在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/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。
而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项
如果要保存下载的内容,就不要放在以上目录下
相关文章推荐
- 大话数据结构—多路查找树(B树)
- 区域设置 ID (LCID) 表, 及获取方法
- psutil documentation
- 搭建项目Maven+springMVC+hibernate时,JUnit测试出现报ClassNotFoundException错误的解决
- ECMAScript5中数组迭代方法
- Window.open()方法参数详解
- 接口、接口测试类, get和post分别请求
- [leetcode] Sort List
- APP IOS6 适配iOS7开发计巧
- 前端菜鸟的成长学习之路(二)
- 国外优秀开源PHP建站程序一览
- UISegementControl设置image不显示
- 解决使用repo下载opencontrail出现的问题
- Android开发遇到error opening trace file: No such file or directory (2) 错误
- (DBA之路【七】)常用的sql优化技巧
- 在CMD命令行中访问Program Files文件夹的方法
- freetype 学习笔记
- Xcode插件实效解决方案
- ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)
- 项目退出后台与进入前端