首页 > 其他分享 >【Android】Android清除本地数据缓存代码

【Android】Android清除本地数据缓存代码

时间:2023-12-11 16:25:55浏览次数:39  
标签:缓存 清除 void xxx param context Android data

/*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录  */

import java.io.File;
import android.content.Context;
import android.os.Environment;

/** * 本应用数据清除管理器 */
public class DataCleanManager {
    /** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * @param context */
    public static void cleanInternalCache(Context context) {
        deleteFilesByDirectory(context.getCacheDir());
    }

    /** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context */
    public static void cleanDatabases(Context context) {
        deleteFilesByDirectory(new File("/data/data/"
                + context.getPackageName() + "/databases"));
    }

    /**
     * * 清除本应用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"));
    }

    /** * 按名字清除本应用数据库 * * @param context * @param dbName */
    public static void cleanDatabaseByName(Context context, String dbName) {
        context.deleteDatabase(dbName);
    }

    /** * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context */
    public static void cleanFiles(Context context) {
        deleteFilesByDirectory(context.getFilesDir());
    }

    /**
     * * 清除外部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 filePath */
    public static void cleanCustomCache(String filePath) {
        deleteFilesByDirectory(new File(filePath));
    }

    /** * 清除本应用所有的数据 * * @param context * @param filepath */
    public static void cleanApplicationData(Context context, String... filepath) {
        cleanInternalCache(context);
        cleanExternalCache(context);
        cleanDatabases(context);
        cleanSharedPreference(context);
        cleanFiles(context);
        for (String filePath : filepath) {
            cleanCustomCache(filePath);
        }
    }

    /** * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * * @param directory */
    private static void deleteFilesByDirectory(File directory) {
        if (directory != null && directory.exists() && directory.isDirectory()) {
            for (File item : directory.listFiles()) {
                item.delete();
            }
        }
    }
}

【Android】Android清除本地数据缓存代码_刷新清除手机页面缓存代码-CSDN博客

   

标签:缓存,清除,void,xxx,param,context,Android,data
From: https://www.cnblogs.com/wanglongjiang/p/17894689.html

相关文章

  • 扫描并清除重复文件的Python脚本
    电脑里存的照片越来越多,其中有很多是重复的。如果依赖人边去一张一张对比,需要的工作量太大了。下面的Python脚本在一个目录树上递归地对所有文件作MD5校验,将重复的文件找出来。保留用户指定的文件,将多余的文件全部删除掉。#!/usr/bin/envpython3importsysimporthashlibim......
  • Android OpenGl ES 3.0 学习笔记
    titleOpenGLES3.0DrawTriangleJava->JNI:(1)Java_com_oyp_openglesdemo_render_MyNativeRenderer_nativeSetRenderType(100,100)Java->MyGLRenderContext:GetInstance()Java->MyGLRenderContext:SetRenderType(100)noterightofNativeTriangle:GLBaseSample......
  • 成品直播源码,如何在开发时自定义缓存策略
    缓存在成品直播源码中所占用的空间往往会成为迫使用户卸载应用的最后一根稻草。开发者不能无上限对音视频资源进行缓存,通常的维护手法是通过限制空间大小,比如,用户通常可以接受视频类应用有1G左右的缓存空间,即时通信类应用也许会更大些。因此我们的成品直播源码缓存库也需要提供......
  • Android Studio安装图文详细版
    前言全局说明一、下载AndroidStudio下载文件归档:https://developer.android.google.cn/studio/archive.html下载:android-studio-2022.3.1.20-windows.exe备用下载:android-studio-2022.3.1.20-windows.exe下载好文件:二、安装下图,路径不要有空格和中文名路径(D:\Androi......
  • 开源库推荐】#5 Android高亮引导库
    原文:【开源库推荐】#5Android高亮引导库-Stars-One的杂货小窝本文介绍2个高亮引导库HighLightPro和Curtainhyy920109/HighLightPro:Ahighlightlibandalsoitcanbeasimplepopupwindowlibforandroidsoulqw/Curtain:一个Android高亮View蒙层库HighLi......
  • Android 图表开源库调研及使用示例
    原文地址:Android图表开源库调研及使用示例-Stars-One的杂货小窝之前做的几个项目都是需要实现图表统计展示,于是做之前调研了下,做下记录概述AAChartCore-Kotlin基于webview,本质上还是使用jsPhilJay/MPAndroidChart,老牌使用原生canvas绘制的图标,但似乎因为收费而不......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等属性。接下来,调......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等......
  • 财贸双全清除系统冗余数据
    管家婆财贸双全清除冗余数据deletefromt_cw_dlyndxwheredraft<>2deletefromt_cw_dlyndxwherevchcodenotin(selectvchcodefromt_cw_dly)TRUNCATETABLEt_CW_bakdlyTRUNCATETABLEt_cw_bakdlysup--TRUNCATETABLET_CW_Dlysup--(里面是支付方式,财务版本里面最......
  • Android Dagger2简单使用
    Dagger是一个很古老的框架了,当初诞生时候,主要是为了模块之间的解耦。本篇文章主要介绍一下如何使用dagger2,后续会介绍其原理。AS集成对于现在的AS项目,一般都是会集成Kotlin和Java混写,所以可以在想要使用dagger的模块module的gradle下加入如下配置。implementation'com.google.dagg......