Android开发之获取缓存大小和清除缓存
前言
应用经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等。我们开发产品的时候,可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据。
数据来源
1、手机文件
系统文件:这个是系统文件,不允许修改的
内置SD卡:现在手机基本都有,就是我们所谓的ROM,是不可以移除的,RAM是我们手机运行内存
外置SD卡:这个就是我们所谓的SD卡
2、应用内存产生数据类型
file:普通文件
database:数据库文件(.db)
sharedpreference:配置数据(.xml文件)
cache:图片缓存文件
3、应用数据的路径(Android–data–com)
/data/data/com.xxx.xxx/cache - 应用内缓存(注:对应方法getCacheDir())
/data/data/com.xxx.xxx/databases - 应用内数据库
/data/data/com.xxx.xxx/shared_prefs - 应用内配置文件
/data/data/com.xxx.xxx/files - 应用内文件(注:对应方法getFilesDir())
4、获取数据方法
不管是内置还是外置SD卡,获取路径的方法是一样:
获取SD卡根目录:Environment.getExternalStorageDirectory().getAbsolutePath();
外部Cache路径:/mnt/sdcard/android/data/com.xxx.xxx/cache 一般存储缓存数据(注:通过getExternalCacheDir()获取)
外部File路径:/mnt/sdcard/android/data/com.xxx.xxx/files 存储长时间存在的数据
注:通过getExternalFilesDir(String type)获取, type为特定类型,可以是以下任何一种
Environment.DIRECTORY_MUSIC, Environment