`
shuai1234
  • 浏览: 995814 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

清除应用程序所有缓存

 
阅读更多
  1. /* 
  2.  * 文 件 名:  DataCleanManager.java 
  3.  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 
  4.  */  
  5. package com.test.DataClean;  
  6.   
  7. import java.io.File;  
  8.   
  9. import android.content.Context;  
  10. import android.os.Environment;  
  11.   
  12. /** 
  13.  * 本应用数据清除管理器 
  14.  */  
  15. public class DataCleanManager {  
  16.     /** 
  17.      * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) 
  18.      *  
  19.      * @param context 
  20.      */  
  21.     public static void cleanInternalCache(Context context) {  
  22.         deleteFilesByDirectory(context.getCacheDir());  
  23.     }  
  24.   
  25.     /** 
  26.      * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) 
  27.      *  
  28.      * @param context 
  29.      */  
  30.     public static void cleanDatabases(Context context) {  
  31.         deleteFilesByDirectory(new File("/data/data/"  
  32.                 + context.getPackageName() + "/databases"));  
  33.     }  
  34.   
  35.     /** 
  36.      * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) 
  37.      *  
  38.      * @param context 
  39.      */  
  40.     public static void cleanSharedPreference(Context context) {  
  41.         deleteFilesByDirectory(new File("/data/data/"  
  42.                 + context.getPackageName() + "/shared_prefs"));  
  43.     }  
  44.   
  45.     /** 
  46.      * 按名字清除本应用数据库 
  47.      *  
  48.      * @param context 
  49.      * @param dbName 
  50.      */  
  51.     public static void cleanDatabaseByName(Context context, String dbName) {  
  52.         context.deleteDatabase(dbName);  
  53.     }  
  54.   
  55.     /** 
  56.      * 清除/data/data/com.xxx.xxx/files下的内容 
  57.      *  
  58.      * @param context 
  59.      */  
  60.     public static void cleanFiles(Context context) {  
  61.         deleteFilesByDirectory(context.getFilesDir());  
  62.     }  
  63.   
  64.     /** 
  65.      * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) 
  66.      *  
  67.      * @param context 
  68.      */  
  69.     public static void cleanExternalCache(Context context) {  
  70.         if (Environment.getExternalStorageState().equals(  
  71.                 Environment.MEDIA_MOUNTED)) {  
  72.             deleteFilesByDirectory(context.getExternalCacheDir());  
  73.         }  
  74.     }  
  75.   
  76.     /** 
  77.      * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 
  78.      *  
  79.      * @param filePath 
  80.      */  
  81.     public static void cleanCustomCache(String filePath) {  
  82.         deleteFilesByDirectory(new File(filePath));  
  83.     }  
  84.   
  85.     /** 
  86.      * 清除本应用所有的数据 
  87.      *  
  88.      * @param context 
  89.      * @param filepath 
  90.      */  
  91.     public static void cleanApplicationData(Context context, String... filepath) {  
  92.         cleanInternalCache(context);  
  93.         cleanExternalCache(context);  
  94.         cleanDatabases(context);  
  95.         cleanSharedPreference(context);  
  96.         cleanFiles(context);  
  97.         for (String filePath : filepath) {  
  98.             cleanCustomCache(filePath);  
  99.         }  
  100.     }  
  101.   
  102.     /** 
  103.      * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 
  104.      *  
  105.      * @param directory 
  106.      */  
  107.     private static void deleteFilesByDirectory(File directory) {  
  108.         if (directory != null && directory.exists() && directory.isDirectory()) {  
  109.             for (File item : directory.listFiles()) {  
  110.                 item.delete();  
  111.             }  
  112.         }  
  113.     }  
  114. }  
分享到:
评论

相关推荐

    操作全局程序集缓存(GAC)的.NET应用程序

    对全局程序集缓存(Global Assembly Cache简称:GAC)的操作所用EXE及生产密钥的EXE程序,压缩包中的程序类型为.NET。 sn.exe;gacutil.exe;GacKey.snk(实例)

    chrome缓存清除扩展程序,通过js清除chrome缓存的api演示

    since: 0, // 清除所有时间的缓存 cacheStorage: true, // 清除Service Worker和Cache API缓存 appCache: true, // 清除App Cache fileSystem: true, // 清除文件系统 indexedDB: true, // 清除IndexedDB ...

    显示所有缓存 清除所有缓存 Asp.net(C#)

    本文将详细介绍如何在ASP.NET (C#) 应用程序中实现显示所有缓存以及清除所有缓存的功能。 #### 1. 缓存的概念 缓存是一种临时存储数据的方法,目的是为了快速访问这些数据。在ASP.NET中,有两种主要类型的缓存:...

    缓存应用程序页面和数据

    在IT领域,尤其是在Web开发中,缓存技术是提高应用程序性能的关键策略之一。"缓存应用程序页面和数据"这一主题涵盖了如何有效地存储和检索经常访问的信息,以减少对数据库或其他昂贵资源的请求,从而降低延迟并提升...

    AppCache,Android应用程序磁盘缓存.zip

    Android应用程序磁盘缓存则是Android系统为了提高应用性能和用户体验而引入的一种机制,它将经常使用的数据存储在设备的本地磁盘上,下次应用需要时可以直接从缓存读取,避免了网络延迟或IO操作的开销。 Android...

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

    Android将每个应用的数据存储在特定的沙盒目录下,如`/data/data/<package_name>/cache`,这里便是应用程序缓存文件的存放位置。通过获取应用的包名,我们可以遍历这个目录,删除所有缓存文件。 接下来,我们需要...

    python怎么删除缓存文件

    python删除缓存文件的方法: 首先输入“find.-name ‘__pycache__’ -type d -exec rm -rf {} \”命令删除所有子目录; ...清除Python中的缓存或内存 问题: 我有一个非常大的表需要计算(100亿+行

    安卓SD卡文件管理更新信息相关-android获取应用程序缓存并计算大小清除缓存.zip

    理解如何获取、计算和清除缓存,有助于开发者创建更加高效且用户友好的应用程序。同时,持续关注如“SD卡文件管理更新信息”这样的技术动态,可以帮助开发者保持与时俱进,应对新的技术和挑战。

    vsto插件部署清除缓存mage工具

    4. 删除Office应用程序的缓存,这通常位于“%APPDATA%\Microsoft\Windows\assembly\GAC_32”或“GAC_64”目录下,根据你的插件是32位还是64位。 在实际操作中,可能还需要处理一些特殊的情况,例如,如果Office有多...

    查看缓存 清除缓存

    标题“查看缓存 清除缓存”暗示了我们关注的是如何在Android设备上管理应用程序的缓存数据。以下是一些关于这个主题的详细知识点: 1. **缓存的作用**:缓存的主要目的是优化性能,当用户首次打开一个应用或访问一...

    易语言完美清除IE缓存和Cookies等

    5. **用户界面设计**:程序通常会提供一个友好的用户界面,让用户可以选择要清理的项目,比如只清除缓存不清理Cookies,或者完全清理所有数据。 6. **错误处理**:编写程序时,必须考虑到可能出现的各种异常情况,...

    怎么清空web缓存

    ### 如何清空Web缓存:详尽指南 在日常工作中,我们经常需要清空Web缓存,尤其是在软件测试过程中,这有助于确保看到的是最新的网页版本而非旧版本的缓存内容。不同浏览器有不同的缓存清理方式,下面我们将详细介绍...

    IOS清除缓存

    在iOS系统中,清理应用程序的缓存是一种维护设备性能和存储空间的有效方法。缓存是应用在运行过程中临时存储的数据,用于加速加载速度,但随着时间的推移,它可能会积累并占用大量的存储空间。以下是对"IOS清除缓存...

    清理应哟缓存的方式(包括清理系统应用的缓存)

    在现代的计算机操作系统中,应用程序在运行过程中会产生大量的缓存数据,这些缓存可以提高程序启动速度和运行效率,但随着时间的推移,过多的缓存可能会占用大量存储空间,影响系统的性能。本文将详细讲解如何清理...

    Android应用缓存机制

    Android应用缓存机制是优化应用程序性能的关键组成部分,它涉及到如何高效地存储和检索数据,以减少网络请求和I/O操作,提升用户体验。Android系统提供了多种缓存策略和技术,包括内存缓存、磁盘缓存、SQLite数据库...

    清除Jquery缓存

    缓存是一种临时存储数据的方法,目的是提高应用程序的性能。当用户请求某个资源时,如果该资源已经被缓存,则浏览器可以直接从缓存中读取数据而无需重新从服务器下载,这样可以显著减少加载时间,提升用户体验。然而...

    Windows 清除缓存密码

    这些凭据可能来自网站、网络资源或各种应用程序。清除缓存密码的目的是保护用户信息的安全,防止未经授权的访问,尤其是在多人共享电脑或担心密码泄露的情况下。 描述中的“NULL”意味着没有提供具体的描述信息,...

    Mac OS X中的程序缓存文件怎么手动清除?.docx

    在Mac OS X(现称macOS)系统中,程序缓存文件是运行应用程序时为了提高性能而临时存储的数据。这些缓存文件随着时间的推移会不断积累,可能会占用大量硬盘空间,甚至有时会影响系统的整体性能。因此,定期手动清理...

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

    在Android开发中,缓存管理和用户验证是两个重要的环节,特别是在设计高效且用户友好的应用程序时。本示例"ClearCacheDemo"旨在提供一个集成的解决方案,帮助开发者快速实现清除缓存、清除应用数据以及获取验证码倒...

    页面缓存和清除页面缓存

    在ASP.NET开发中,页面缓存是提升网站性能的关键技术之一。它允许我们将频繁访问的网页数据存储在服务器的内存中,以便后续请求时能够快速...理解并熟练应用这些知识,能帮助我们在构建高性能Web应用程序时游刃有余。

Global site tag (gtag.js) - Google Analytics