Android应用中加载的图片以及一些数据缓存怎么清掉呢?最近在做项目中遇到了这个问题,网上搜了一下找到了不少的源代码,综合了这些源码,下面给大家说一下吧,怎么有效的清除应用内存的缓存信息?

清除应用内部缓存主要包含以下几大模块:

一、清除应用本地所有数据库缓存

/** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context */

public static void cleanDatabases(Context context) {

deleteFilesByDirectory(new File("/data/data/"

+ context.getPackageName() + "/databases"));

}

二、清除本应用SharePreference数据

/**

* * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param

* context

*/

public static void cleanSharedPreference(Context context) {

deleteFilesByDirectory(new File("/data/data/"

+ context.getPackageName() + "/shared_prefs"));

}

三、清除data/data/com.xxx.xxx/files数据

/** * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context */

public static void cleanFiles(Context context) {

File sdDir = Environment.getExternalStorageDirectory();//获取跟目录

sdDir = new File(sdDir.getPath()+File.separator+"xxx");

sdDir = new File(sdDir.getPath() +File.separator+ "files");

deleteFilesByDirectory(sdDir);

}

四、清除外部cache下的数据

/**

* * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param

* context

*/

public static void cleanExternalCache(Context context) {

if (Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {

deleteFilesByDirectory(context.getExternalCacheDir());

}

}

最后怎么获取这些数据的大小呢?贴上源码:

/**

* 获取文件夹大小

* @param file File实例

* @return long

*/

public static long getFolderSize(java.io.File file){

long size = 0;

try {

java.io.File[] fileList = file.listFiles();

for (int i = 0; i < fileList.length; i++)

{

if (fileList[i].isDirectory())

{

size = size + getFolderSize(fileList[i]);

}else{

size = size + fileList[i].length();

}

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//return size/1048576;

return size;

}

主要就是遍历文件夹,获取文件夹中的文件的大小,获取缓存大小。如果应用内的一些缓存图片不希望被删除,还是将缓存的图片放到指定的文件夹中,删除的时候不要删除该文件夹,这样就不会因为清空缓存而重新加载图片了。

以上就是关于Android清空应用内部文件缓存方法的详细介绍,希望对大家的学习有所帮助。

android 内部存储 清空,Android清空应用内部文件缓存相关推荐

  1. android 读取内部存储文件格式,Android中的数据储存之文件存储

    当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互 例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢 ...

  2. android中访问手机存储空间,android – 访问手机内部存储以推入SQLite数据库文件...

    我正在使用Netbeans和java开发我的android应用程序.当我使用模拟器时,我可以通过访问以下路径,data / data / com.example.helloandroid / data ...

  3. android 内部存储 共享,android存储:共享参数、内部存储、拓展存储

    日期16年8月30日学习 一.共享参数: (1).概念: SharedPreferences是Android系统提供的一个通用的数据持久化框架,用于存储和读取key-value类型的原始基本数据类型对 ...

  4. android 序列化存储对象,android中对象序列化存储

    项目中要存储一些数据为了提高不必要的网络请求,提高效率,用到数据持久化的知识点,针对这个问题,解决办法其实有很多,以前在项目中是服务获取到webservice的xml,然后直接将xml保存在本地,之后 ...

  5. android 手机存储 目录,android 62 手机存储目录的划分

    android下应用程序的路径和javase不同,应用程序的数据要保存自己的文件夹里面 > > getFileDir(); 获取自己的文件夹 /data/data/包名(应用程序的名字)/ ...

  6. < Android数据存储> 任务二 应用程序数据文件夹里的文件读写

    :zh]Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法 ...

  7. android数据存储心得,android学习心得 轻量级存储SharePreferences

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和St ...

  8. android sharedpreferences 存储对象,android中SharedPreferences实现存储用户名功能

    1. 简介 SharedPreferences是一种轻型的数据存储方式,通过key-value键值对的方式将数据存储在xml文件中,常用于存储简单的配置信息. 2. 使用方式 2.1 获取Shared ...

  9. android开发 存储权限,Android openFileOutput – 没有创建存储的权限

    我的应用程序中的权限有问题.看起来我的应用程序没有权限在存储上创建文件. String FILENAME = "hello_file"; String string = " ...

  10. 安卓android获取存储路径,Android系统的手机文件夹目录详解

    一.文件夹 1./acct/ 系统回收站,删除的系统文件. 2./cache/ 缓存 3./data/ 用户的所有程序相关数据 app/ 所有用户安装的apk文件 app-private/ data/ ...

最新文章

  1. 基于深度学习的目标检测综述
  2. solidworks activator未响应_SolidWorks之初识工程图
  3. mysql C语言API接口及实例
  4. js数组的map方法以及parseInt方法
  5. 高仿真的类-BeanWrapper
  6. Vjios P1736 铺地毯【暴力,思维】
  7. NOSQL schema创建原则
  8. Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID,反之也行!...
  9. JavaScriptjQuery.HTML5事件
  10. 阿铭Linux_网站维护学习笔记20190305
  11. 可开流量主 微信小程序云开发抽奖小程序源码
  12. vue 时间方法(yyyy-mmmm-dddd hh:mm:ss)
  13. Unity2D游戏程序设计——打地鼠
  14. 独孤密码-非对称加密算法RSA解析
  15. wyh2000 and pupil
  16. 解耦技巧——依赖注入!
  17. 舵机常见问题原理分析及解决办法
  18. linux之vim下载及编写规则
  19. 使用python抓取并分析数据—链家网(requests+BeautifulSoup)(转)
  20. 使用Retrofit2封装适用于组件化项目的网络库

热门文章

  1. ArcGIS放射状流向地图
  2. puppet report import
  3. 2012组策略自动部署wsus
  4. Android开发之旅:环境搭建及HelloWorld
  5. Forefront基本知识介绍
  6. 双喜临门,压力测试、曼谷会议,BCH成绩斐然
  7. IDEA中git的使用和分支的创建
  8. VIEWGOOD流媒体平台推进广州图书馆数字化进程
  9. 《Java编程思想》第四版读书笔记 第十四章 类型信息
  10. 动手写一款简单的chrome天气插件