Android缓存理解
来源:互联网 发布:node 社区公开的api 编辑:程序博客网 时间:2024/06/04 23:12
Environment.getExternalStorageState()方法用于获取mnt/SDCARD2/目录
getCacheDir()方法用于获取/data/data/<application package>/cache/目录
getFilesDir()方法用于获取/data/data/<application package>/files/目录
getExternalCacheDir()方法用于获取SDCard/Android/data/<application package>/files/目录
getExternalFilesDir()方法用于获取SDCard/Android/data/<application package>/cache/目录
应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分应用是直接在SDCard的根目
录下创建一个文件夹,然后把数据保存在该文件夹中。这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数
据。如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?
通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据
如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项
如果要保存下载的内容,就不要放在以上目录下
通过以下方法来获取缓存地址:
public String getDiskCacheDir(Context context) { String cachePath = null; if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) { cachePath = context.getExternalCacheDir().getPath(); } else { cachePath = context.getCacheDir().getPath(); } return cachePath; }
getCacheDir()获取缓存路径/data/data/<application package>/cache
getExternalCacheDir()获取缓存路径/sdcard/Android/data/<application package>/cache
参考地址:http://blog.csdn.net/guolin_blog/article/details/28863651
使用地址:http://blog.csdn.net/guolin_blog/article/details/34093441
- Android缓存理解
- android 内存与缓存的理解
- Android开发对网络缓存的理解
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 理解缓存
- 【Android 开发】深入理解内存缓存类LruCache:源码分析
- 【Android开发】深入理解硬盘缓存类DiskLruCache:源码分析
- Android中图片的三级缓存---小理解
- petshop缓存机制理解
- Android Studio更新升级方法
- 内核探索:Regmap 框架:简化慢速 I/O 接口优化性能
- PHP浮点数比较大小
- 双十一运维怎么过,OneAPM 帮你救火,轻松运维
- 传统企业并不懂互联网,传统企业需要大量的网络营销人才
- Android缓存理解
- android自定义AlertDialog
- Flume+Elasticsearch搭建实时日志分析系统
- [INS-41107]eth0 selected for one or more of the public or private interfaces is not on a shared subn
- 斯坦福大学深度学习与自然语言处理课程解读
- android sdk adt tools down
- 从头认识java-6.4 如何在聚合与继承之间选择
- eclipse中的Console控制台视图脱离主窗口解决办法
- iOS开发项目自动生成技术文档