`
龙哥IT
  • 浏览: 253859 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Android清除本地数据缓存代码

 
阅读更多
/*  * 文 件 名:  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数据缓存示例(清除本地数据缓存)

    代码如下:/* * 文 件 名: DataCleanManager.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */ import java.io.File;import android.content.Context;...

    Android缓存——将数据以对象的方式缓存到本地

    在Android开发中,数据缓存是一项重要的技术,它能够提高应用程序的性能和用户体验。当用户访问数据时,如果数据已经被缓存,系统可以快速地从本地读取,避免了网络延迟或频繁数据库查询带来的影响。本示例"Android...

    Android app缓存清理实现

    缓存是为了提高数据读取速度,将常用但加载较慢的数据存储在本地,当用户再次需要这些数据时,可以从缓存中快速获取,避免了网络请求或者磁盘I/O的开销。然而,如果不及时清理,缓存可能会占用大量存储空间,甚至...

    Android清除缓存功能

    在Android应用开发中,...总之,实现Android清除缓存功能不仅涉及到内存、磁盘和网络缓存的清理,还涉及到如何优雅地集成到应用中。通过上述方法,你可以构建一个全面的缓存清理方案,确保应用始终处于高效运行状态。

    Android WebView 实现缓存网页数据

    `clearHistory()` 清除浏览历史,`clearCache(true)` 清除所有缓存,包括磁盘缓存。 五、离线模式下的WebView 在离线模式下,可以通过设置 `WebView` 的缓存模式为 `LOAD_CACHE_ONLY`,使其只从本地缓存加载网页:...

    Android项目实战--手机卫士35--清除程序缓存

    在Android系统中,应用程序为了提高加载速度,通常会将部分数据存储在本地缓存中,如图片、网页数据等。然而,随着时间的推移,这些缓存文件可能会不断积累,占用大量存储空间,甚至影响应用的正常运行。 要实现...

    android一键清除缓存

    在Android系统中,"一键清除缓存"是一个常见的功能,它允许用户快速清理应用程序和系统的临时数据,以释放存储空间并提高设备性能。这个功能在日常使用中非常实用,尤其对于那些存储空间有限或者希望保持设备运行...

    Android使用SharedPreferences进行数据存储,缓存ID等数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,主要用于存储应用程序的配置信息或者临时数据,如用户偏好设置、登录状态等。它提供了简单键值对的存储方式,非常适合用来缓存像...

    Android-webview缓存

    磁盘缓存则将数据保存在设备的本地文件系统中,即使应用关闭或设备重启,数据依然可被复用。 二、开启Webview缓存 要启用Webview的缓存功能,首先需要在WebView的初始化代码中设置`WebSettings`对象。以下是一个...

    Android实现WebView删除缓存的方法

    总之,Android中的WebView缓存管理涉及多个方面,包括设置缓存模式、手动清理缓存文件以及在应用生命周期中适当地删除缓存数据。通过以上方法,开发者可以有效地控制WebView的缓存行为,优化应用性能,同时节省用户...

    Android程序的缓存大小计算

    - 使用数据库(如SQLite)进行结构化数据缓存,便于管理和清理。 - 对于大文件,考虑使用云存储服务,减轻本地存储负担。 - 使用ContentProvider或FileProvider来统一管理缓存文件,便于清理。 综上所述,理解...

    android 版本更新 同时清除旧版本数据

    当“android 版本更新 同时清除旧版本数据”时,我们需要关注几个关键的技术点: 1. 版本检测:首先,应用需要能够自动检测到新的版本。这通常通过网络请求实现,例如通过HTTP GET请求到服务器上的更新API,该API...

    Android开发之删除项目缓存的方法

    本文实例讲述了Android开发之删除项目缓存的方法。分享给大家供大家参考,具体如下: 如何删除项目的缓存: getCacheDir()能够得到当前项目的缓存地址 在项目中经常会使用到WebView 控件,当加载html 页面时,会在/...

    android 三级缓存

    在这个模块中,可能包含了设置缓存策略、缓存读写操作、缓存数据的更新和清除等功能。开发者可以通过分析和学习这个示例,了解如何在实际项目中有效地运用三级缓存技术。 总的来说,掌握和运用好Android的三级缓存...

    Android使用HBuilder的缓存方法

    本文将通过实例代码详细介绍 Android 使用 HBuilder 的缓存方法,提供有价值的参考借鉴价值。 一、缓存机制的重要性 在移动应用程序中,缓存机制是非常重要的,能够大大提高应用程序的性能和用户体验。缓存机制...

    安卓Andriod源码——下载网络图片(整合多线程、内存缓存、本地文件缓存~).zip

    标题中的"安卓Andriod源码——下载网络图片(整合多线程、内存缓存、本地文件缓存~).zip"表明这是一个关于Android应用中实现图片下载和缓存的源代码示例。这个压缩包可能包含了一个名为"ImageViewLoader"的类或者...

    Android数据操作工具类

    总之,"Android数据操作工具类"结合了SharedPreferences的便捷性和ACache的高效缓存能力,为开发者提供了强大而简便的数据存储解决方案。在实际开发中,这样的工具能够帮助我们更高效地处理数据,提高代码的可维护性...

    正在缓存与已缓存下载列表实现

    在Android应用开发中,缓存是一种常见的技术,用于提高数据加载速度和减少网络请求,从而提升用户体验。"正在缓存与已缓存下载列表实现"这个主题涉及到的关键知识点包括AsyncTask、SQLite数据库以及如何管理缓存文件...

    android 离线下载实现版本更新,图片缓存

    可以设置缓存文件的生命周期,或者在启动应用时检查更新并清除不再需要的缓存。 综上所述,Android的离线下载和图片缓存涉及到多方面的技术,包括系统API、服务、数据库以及第三方库的使用。通过合理地整合这些技术...

    android中webview加载本地页面,并处理js事件

    - `WebView.clearCache(true)`清除缓存,`WebView.clearHistory()`清除浏览历史。 综上所述,这个`WebViewDemo`项目展示了如何在Android应用中使用`WebView`加载本地HTML页面,并通过JavaScript Interface实现Java...

Global site tag (gtag.js) - Google Analytics