android应用清除应用缓存原理
2015-12-31 11:46
232 查看
一般需要自己实现两个api
1.获取缓存大小
2.清除缓存
备注
1.以上这些都是文件夹,要用清除文件夹的方法
2.获取缓存大小,其实就是获取你要删除这些文件夹的占用文件系统的空间,在File对象中有相应的方法
3.SD卡上的(这个是判断判断有没有SD卡的缓存目录中的4,5) Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
1.获取缓存大小
2.清除缓存
缓存目录
1.清除本应用内部缓存(/data/data/com.xxx.xxx/cache)
获取路径方法:context.getCacheDir().getAbsolutePath()
2.清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs)
context.getFilesDir().getPath() + context.getPackageName() + "/shared_prefs"3.清除/data/data/com.xxx.xxx/files下的内容 [/code]
获取路径方法:context.getFilesDir()4.清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) [/code]
获取路径方法:context.getExternalCacheDir().getAbsolutePath()
5.清除外部files下的内容(/mnt/sdcard/android/data/com.xxx.xxx/files)
获取路径方法:context.getExternalFilesDir(null)
6.还有的根据业务是否清除数据库,数据库清除全部还是部分数据库
获取路径方法:context.getDatabasePath("DbName")
7.在指定的文件夹写的一些业务相关的临时文件,考虑是否删除这些的目录即目录中的文件。
8.系统图片缓存的问题,是存在了cache文件中,还是在特定的文件夹中。
9.其他(一般应用考虑这些功能基本就实现的差不多了,当然有特定业务的,还有更多更复杂的业务处理)
备注
1.以上这些都是文件夹,要用清除文件夹的方法
2.获取缓存大小,其实就是获取你要删除这些文件夹的占用文件系统的空间,在File对象中有相应的方法
3.SD卡上的(这个是判断判断有没有SD卡的缓存目录中的4,5) Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
相关文章推荐
- Android SDK no swt-pi-gtk-3550 or swt-pi-gtk in swt.library.path, java.library.path or the jar解决
- (转载)-- android onSaveInstanceState方法
- 关于Android Studio
- Android 内存管理 Environment
- Android调用Java EE+axis2搭建的webservice服务详解
- Android的数据存储
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- 浅谈Android中的序列化
- 欢迎使用CSDN-markdown编辑器
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- Android屏幕适配
- Android Gradle打渠道包
- Android开发过程中遇到的关于so文件的问题
- [Android Studio] Android studio 多渠道打包(超简洁版)
- Android之屏幕测试
- 关于Android Studio 和 Gradle的那些事儿
- Plugin is too old,please update to a more recent version,or set ANDROID_DAILY_OVERRIDE environment v
- android 数据存储----文件方式 总结
- Android高德地图开发--读取解析KML文件并显示在地图上
- 利用 LeakCanary 来检查 Android 内存泄漏