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

清除缓存

 
阅读更多
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)) {
//        	String path="/mnt/sdcard/android/data/com.tencent/mobileqq/cache";
//        	File file =new File(path);
//        	deleteFilesByDirectory(file);
        	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 */
    public static void deleteFilesByDirectory(File directory) {
        if (directory != null && directory.exists() && directory.isDirectory()) {
            for (File item : directory.listFiles()) {
                item.delete();
            }
        }
    }
}

 

public class CacheClearActivity extends Activity implements OnClickListener{

	private Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8;
	DataCleanManager  dataClear;
	File file =new File("filepath");
	    @Override
	    protected void onCreate(Bundle savedInstanceState)
	    {
	        super.onCreate(savedInstanceState);
	        requestWindowFeature(Window.FEATURE_NO_TITLE);
	        setContentView(R.layout.cache_clear_item);
	 
	        dataClear = new DataCleanManager ();
	      init();
	    }

		private void init() {
			// TODO Auto-generated method stub
			btn1 =(Button) findViewById(R.id.btn1);
			btn2 =(Button) findViewById(R.id.btn2);
			btn3 =(Button) findViewById(R.id.btn3);
			btn4 =(Button) findViewById(R.id.btn4);
			btn5 =(Button) findViewById(R.id.btn5);
			btn6 =(Button) findViewById(R.id.btn6);
			btn7 =(Button) findViewById(R.id.btn7);
			btn8 =(Button) findViewById(R.id.btn8);
			btn1.setOnClickListener(this);
			btn2.setOnClickListener(this);
			btn3.setOnClickListener(this);
			btn4.setOnClickListener(this);
			btn5.setOnClickListener(this);
			btn6.setOnClickListener(this);
			btn7.setOnClickListener(this);
			btn8.setOnClickListener(this);
		}

		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			  /** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * @param context */
			case R.id.btn1:
				dataClear.cleanInternalCache(this);
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context */
			case R.id.btn2:
				dataClear.cleanDatabases(this);
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/**
				 * * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param
				 * context
				 */
			case R.id.btn3:
				dataClear.cleanSharedPreference(this);
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/** * 按名字清除本应用数据库 * * @param context * @param dbName */
			case R.id.btn4:
				dataClear.cleanDatabaseByName(this,"");
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/** * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context */
			case R.id.btn5:
				dataClear.cleanFiles(this);
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/**
				 * * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param
				 * context
				 */
			case R.id.btn6:
				dataClear.cleanExternalCache(this);
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
				/** * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * * @param filePath */
			case R.id.btn7:
				String path ="/mnt/sdcard/android/data/cache";
				file=new File(path);
				dataClear.deleteFilesByDirectory(file);
				Toast.makeText(this, "删除成功----", 1000).show();
				break;
				
				/** * 清除本应用所有的数据 * * @param context * @param filepath */
			case R.id.btn8:
				dataClear.cleanApplicationData(this,"");
				Toast.makeText(this, "删除成功", 1000).show();
				break;
				
			default:
				break;
			}

			
		}
	  
	
}

 

分享到:
评论

相关推荐

    Windows 清除缓存密码

    标题中的“Windows 清除缓存密码”是指在Windows操作系统...总之,“Windows 清除缓存密码”是一个涉及用户隐私和安全的重要操作,通过适当的工具或源码实现,用户可以有效地管理他们的Windows凭据,提升系统的安全性。

    查看缓存 清除缓存

    4. **清除缓存**:在“应用信息”的“存储”界面,用户可以找到“清除缓存”的选项,点击即可清理该应用的缓存数据。这不会删除应用的数据或设置,只会影响临时存储的文件。 5. **自动管理缓存**:部分高级Android...

    android 清除缓存 清除数据 获取验证码倒计时

    本示例"ClearCacheDemo"旨在提供一个集成的解决方案,帮助开发者快速实现清除缓存、清除应用数据以及获取验证码倒计时的功能。下面我们将深入探讨这些知识点。 **一、清除缓存** 在Android应用中,缓存是一种常见...

    html清除缓存

    因此,适时地清除缓存是非常必要的。本文将围绕“HTML清除缓存”的主题,深入探讨其背景、实现方式以及具体代码细节等内容。 #### 一、缓存基本概念 在讨论如何清除缓存之前,我们先来了解一下什么是缓存以及为...

    JSP 页面缓存以及清除缓存

    ### JSP 页面缓存及其清除方法详解 #### 一、JSP页面缓存的重要性与应用场景 JSP(Java Server Pages)技术是一种结合了HTML、XML和Java编程的技术,用于创建动态网页。在JSP开发中,页面缓存是一种常用的技术手段...

    Swift清除缓存

    因此,适时地清除缓存变得至关重要。本文将详细介绍如何在Swift中进行缓存清理,以及相关的重要知识点。 首先,了解Swift中的缓存机制。Swift并没有内置的缓存系统,但开发者通常会利用字典(Dictionary)或者其他...

    java Map实现的cache manager,定时清除缓存里面的值

    java Map实现的cache manager,定时清除缓存里面的值,使数据一致保持最新

    清除缓存程序

    清除缓存程序

    Android清除缓存功能

    因此,实现一个有效的清除缓存功能显得尤为重要。本篇将深入探讨如何在Android应用中实现这一功能。 首先,我们需要了解Android中常见的缓存类型。主要有以下几种: 1. **内存缓存**:通常存储在`LruCache`中,这...

    ajax与jsp清除缓存

    本文将深入探讨如何在AJAX(Asynchronous JavaScript and XML)与JSP(JavaServer Pages)环境中清除缓存,确保每次请求都能获取最新的数据。 ### AJAX与缓存清除 AJAX是一种在无需重新加载整个网页的情况下,能够...

    OC清除缓存Demo

    "OC清除缓存Demo"是一个实例项目,展示了如何在Objective-C中实现这一功能。 首先,我们来看一下缓存的基本概念。缓存通常分为内存缓存和磁盘缓存。内存缓存(如NSCache)在应用运行时存储数据,可以快速访问但会在...

    清除缓存.bat

    清除缓存.bat

    JSP清除缓存.txt

    ### JSP清除缓存知识点详解 #### 一、引言 在Web开发中,缓存是一种常见的技术,用于提高页面加载速度和减少服务器负载。然而,在某些情况下,我们需要强制浏览器或者代理服务器清除缓存,以确保用户看到的是最新...

    iOS app 清除缓存

    在实际操作中,我们可以创建一个名为“tableView缓存demo”的示例项目,展示如何在UITableView中加载并缓存数据,以及如何在用户选择清除缓存时进行清理操作。这个示例可能包括以下步骤: 1. 数据获取:从服务器...

    iOS-Swift清除缓存

    Swift作为iOS开发的主要编程语言,提供了多种方式来管理并清除缓存。本文将深入探讨在Swift中如何有效地进行缓存清理。 首先,我们了解缓存的基本概念。缓存是一种临时存储机制,用于存放经常访问的数据,以便快速...

    应用清除缓存代码

    用于android清除缓存功能

    android一键清除缓存

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

    推荐使用 清除缓存工具

    清除缓存工具 很棒的清楚缓存工具。。。。 推荐使用。。

    ie6,7,8和firefox清除缓存方法

    #### 一、IE6清除缓存步骤 1. **打开IE浏览器**:首先,启动IE浏览器。 2. **选择“工具”菜单**:在浏览器右上角找到并点击“工具”(或通过按键盘上的`Alt`键调出菜单栏,再选择“工具”)。 3. **选择“Internet...

Global site tag (gtag.js) - Google Analytics