(十八)计算应用程序所有的缓存信息和删除应用程序的所有缓存数据

一、计算应用程序所有的缓存信息,包括内部\外部缓存信息,数据库,SharedPreference,files目录的文件大小之和

/**
     * 计算应用程序所有的缓存信息,包括内部\外部缓存信息,数据库,SharedPreference,files目录的文件大小之和
     *
     * @param context
     * @return
     */
    public String computeAllCacheSize(Context context) {
        long fileSize = 0;
        String cacheSize = "0KB";

        File cacheDir = context.getCacheDir(); // /data/data/包名/cache
        System.out.println("cache缓存的路径:" + cacheDir);
        fileSize += getDirSize(cacheDir);

        File dataFileDir = context.getFilesDir();
        fileSize += getDirSize(dataFileDir);

        File dataBaseFileDir = new File(("/data/data/"
                + context.getPackageName() + "/databases"));
        fileSize += getDirSize(dataBaseFileDir);

        File externalCacheDirFile = context.getExternalCacheDir();
        fileSize += getDirSize(externalCacheDirFile);

        File shared_prefs = new File("/data/data/" + context.getPackageName()
                + "/shared_prefs");
        fileSize += getDirSize(shared_prefs);

        if (fileSize > 0) {
            cacheSize = TextFormater.getDataSize(fileSize);
        }
        return cacheSize;
    }

二、

删除应用程序的所有缓存数据,包括内部\外部缓存信息,数据库,SharedPreference,files目录
/**
     * 删除应用程序的所有缓存数据,包括内部\外部缓存信息,数据库,SharedPreference,files目录
     *
     * @param context
     */
    public void clearAppAllCache(Context context) {

        // 清除 /data/data/ package_name /cache(应用缓存)缓存信息:存放缓存数据
        File cacheFileDir = context.getCacheDir();
        clearCacheFolder(cacheFileDir);

        // /data/data/package_name/files:存放应用程序自己控制的文件
        File dataFileDir = context.getFilesDir();
        clearCacheFolder(dataFileDir);

        // 清除某应用所有数据库(/data/data/包名/databases)
        File dataBaseFileDir = new File(("/data/data/"
                + context.getPackageName() + "/databases"));
        clearCacheFolder(dataBaseFileDir);

        // 清除某应用程序外部cache下((/mnt/sdcard/android/data/包名/cache)的内容
        if (Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            File externalCacheDirFile = context.getExternalCacheDir();
            clearCacheFolder(externalCacheDirFile);
        }

        // 清除某应用程序((/data/data/包名/shared_prefs))的内容
        File shared_prefs = new File("/data/data/" + context.getPackageName()
                + "/shared_prefs");
        clearCacheFolder(shared_prefs);

    }
时间: 2024-07-31 04:51:06

(十八)计算应用程序所有的缓存信息和删除应用程序的所有缓存数据的相关文章

C++语言学习(十八)——异常处理

C++语言学习(十八)--异常处理 一.C语言异常处理 异常是指程序在运行过程中产生可预料的执行分支.如除0操作,数组访问越界.要打开的文件不存在.Bug是指程序中的错误,是不被预期的运行方式.如野指针.堆空间使用结束未释放.C语言中处理异常的方式一般是使用if....else...分支语句. double divide(double a, double b) { const double delta = 0.000000000000001; double ret = 0; if( !((-de

[WebGL入门]十八,利用索引缓存来绘图

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 本次的demo的运行结果 对应复杂的模型 上次,通过操作模型坐标变换矩阵,实现了多个模型的移动,旋转和放大缩小.但是,渲染的依然是简单的三角形,是个构造及其简单的模型.但是实际中,用WebGL来绘制一个简单的三角形的机会是很少见的.至少是个四角多边形吧,通常会是更复杂的模型.伴随着模型的复杂化

实验四十八微软应用程序虚拟化之三APP-V 5.1 Client部署和通过组策略自定义配置

实验四十八微软应用程序虚拟化之三APP-V 5.1Client部署和通过组策略自定义配置 APP-V  Client分为Application Virtualization Desktop Client和 Application Virtualization Client for Remote Desktop Services,两者都为虚拟化应用程序提供并管理虚拟环境,管理到缓存的程序包传输.发布刷新.传输,以及与 Application Virtualization Server的所有交互.

攻城狮在路上(壹) Hibernate(十八)--- 管理Hibernate的缓存

一般Session的缓存被称为Hibernate的第一级缓存,SessionFactory的外置缓存是一个可配置的缓存插件,称为Hibernate的第二级缓存.一.缓存的基本原理: 1.持久化层的缓存的范围: A.事务范围:缓存只被当前事务访问. B.进程范围:缓存被进程内的所有事务共享.需要采取必要的隔离机制.缓存介质可以使内存或硬盘. C.集群范围:缓存被同一个机器或多个机器上的多个进程共享.缓存中的数据被复制到集群环境中的每一个进程节点,进程之间通过远程通信来保证缓存中的数据一致性,缓存中

程序员的奋斗史(三十八)——大学断代史(二)——我与数据库的故事

文/.温国兵 惰性人皆有之,也算是人的一大天性.几日之前便构思好此文,怎奈每日杂事繁多,今日才提起笔,作下此文.本文谈谈我与数据库的故事. 说起和数据库结缘,还得从大一说起.大一刚开始接触C语言,每日就沉浸在无止境的代码中.在网上查资料的过程中,看到别人用C语言写了一个小型的图书操作程序,数据库采用的是SQL Server,运行出来的效果图很炫,惊叹原来还可以这样管理数据.熟知C语言的同学肯定对文件操作不陌生,当时我们写程序如果有静态数据,都是放在文件里的.直到后来做的C语言课程设计,我也是一大

微信小程序把玩(二十八)image组件

原文:微信小程序把玩(二十八)image组件 image组件也是一个程序不可缺少的,可以这样说一个app中image组件随处可以看到,一般 image有两种加载方式第一种是网络图片第二种是本地图片资源,都用src属性去指定. 重点属性: 三种缩放模式 九种剪切方式 wxml <!--3中是缩放模式 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满image元素 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来.也就是说,可以完整地将图片显示出来. asp

微信小程序把玩(三十八)获取设备信息 API

原文:微信小程序把玩(三十八)获取设备信息 API 获取设备信息这里分为四种, 主要属性: 网络信息wx.getNetWorkType, 系统信息wx.getSystemInfo, 重力感应数据wx.onAccelerometerChange, 罗盘数据wx.onCompassChange wxml <button type="primary" bindtap="getNetWorkType">获取网络类型</button> <butt

马哥学习笔记二十八——nginx反向代理,负载均衡,缓存,URL重写及读写分离

Nginx反向代理 Nginx通过proxy模块实现反向代理功能.在作为web反向代理服务器时,nginx负责接收客户请求,并能够根据URI.客户端参数或其它的处理逻辑将用户请求调度至上游服务器上(upstream server).nginx在实现反向代理功能时的最重要指令为proxy_pass,它能够将location定义的某URI代理至指定的上游服务器(组)上.如下面的示例中,location的/uri将被替换为上游服务器上的/newuri. location /uri { proxy_pa

漫谈程序员系列:软件开发的十八般乐趣

有人说我在传递负能量,看了我的"漫谈程序员系列"感到了前所未有的彷徨与迷惘,哇哦,这不是我的初衷,我只是给你看真实的世界,真的勇士,敢于直面惨淡的人生与淋漓的鲜血. 有人说我在黑程序员,好吧,我是不惮以最坏的恶意来揣测别人的,是吗?当然不是,我胸怀一颗善良慈悲的红心,来到这个世上,就是为了扯淡的,从未想着黑那谁谁谁,是吧,因为我也是程序员,还是老程序员. 总而言之,言而总之,我们需要正能量,就像多数人喜欢大团圆结局的电影一样.上帝抛我们到这世上,给我们各种困顿.挣扎.忧思.恐惧,生活已