`

清楚apk缓存

 
阅读更多

 

*创建缓存文件加权限<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />*/
       File file = new File(this.getCacheDir(), "temp.txt");                  
        try {                     
            file.createNewFile();                     
            FileWriter fw = new FileWriter(file);                     
            BufferedWriter bw = new BufferedWriter(fw);                     
            bw.write("creat cache file");                     
            bw.newLine();                     
            bw.close();               
        } 
        catch (IOException e) 
        {                     
            System.out.println(e.getMessage());           
        }   
 
 
/*删除cache文件*/
        File[] files = getCacheDir().listFiles();
        for (File f : files)
        {
              f.delete();
        }

 

/* 
     * 文 件 名:  DataCleanManager.java 
     * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 
     */  
    package com.archermind.DataClean;  
       
    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多渠道批量打包工具命令版

    此外,为了便于管理和分发这些APK,你可能还需要将它们重命名,以便清楚地识别每个渠道的APK。这可以通过在脚本中添加额外的重命名命令来实现。 最后,了解如何调试和优化这个过程也非常重要。如果遇到构建失败或...

    Android使用SDK方法详解

    通过上述步骤,我们可以清楚地了解到如何在Android模拟器中使用SDK来安装、卸载APK以及管理和使用SDCard。这对于开发者来说是非常实用的操作指南,可以帮助他们在开发过程中更加高效地调试和测试应用程序。此外,...

    avast cleanup pro-crx插件

    至于设备上的照片,应用程序还将清楚地显示当前的GB图像,视频,缓存数据,未使用的文件和所有关于内存 好处: 它提高了电池寿命 设备再次永远不会减慢 再次陷入工作状态 在AvastCleanup.pro 中控制海象问题并了解...

    安卓手机刷机步骤.pdf

    同时,输入 *2767*3855# 将系统、缓存和个人数据清除,并自动重启手机。 步骤 3-4:再次格式化和关机 在重启后,再次格式化手机内置的 8G/16G 和外置的 TF 卡。然后,正常关机,拔出 TF 卡,但不拔出 SIM 卡。 ...

    手机的分区信息详解.pdf

    System/app包含系统默认应用,framework包含可复用的框架类,如framework-res.apk和systemUI.apk,它们对系统界面的美化起着重要作用。 6. **Data 分区**:存放用户安装的应用及其数据,位于data/app和data/data...

    安卓手机无法安装Runtastic办法root+google服务

    另外,root可能会导致手机保修失效,因此请考虑清楚再进行。 2. **安装Google服务框架**:Runtastic可能依赖于Google服务框架来运行,而一些非谷歌认证的安卓设备可能缺少这些服务。你需要安装并更新Google Play...

    android ADB命令的使用

    2. **安装应用**:`adb install &lt;apk路径&gt;` 将APK文件安装到设备上。 3. **卸载应用**:`adb uninstall &lt;包名&gt;` 卸载应用,加上 `-k` 参数可保留数据和缓存文件。 4. **登录设备Shell**:`adb shell` 提供设备的...

    SPenSDK3.1.4:静态库

    我创建了这个库,因为截至 2015 年 2 月 6 日,三星关于在静态模式下使用他们的 SDK 的不完整、不准确或不清楚,这取决于个人的观点。 要使用它,只需将它作为库模块添加到您的项目中,然后使其成为依赖项。 您将不...

    PickupLine2_搭讪APP_startg7y_articlewbc_

    "startg7y" 和 "articlewbc" 可能是开发者或项目代码的标识符,具体含义可能只有项目团队内部清楚。 【描述】中的"PickLine搭讪App"表明这是一个用户友好的应用,拥有简洁的用户界面。用户可以清晰地将他们对不同...

    新版Android开发教程.rar

    � 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发 出 更具差异性的应用。 � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要...

    DroidKit_v1.0.0.20210528.rar

    它可以智能地查找和分类您手机上的缓存、后台应用程序、apk文件和大文件。然后,您可以清楚地查看文件,并随意单击即可擦除所有文件或仅擦除不需要的文件。没有错误删除系统文件导致应用程序崩溃甚至Android崩溃的...

    gradle-doctor:您的Gradle构建的正确处方

    4. **自动化报告**:通过生成详细的诊断报告,开发者可以清楚地看到哪些部分需要改进,以及如何进行改进,减少了手动排查问题的时间。 ### 使用步骤 1. **安装与集成**:首先,将`gradle-doctor`添加到项目的`...

    qfind-android

    5. **性能优化**:考虑到Android设备的资源限制,"qfind-android" 可能会进行一些性能优化,比如使用缓存策略减少重复搜索,或者在搜索过程中利用多线程来加速。 6. **版本控制**:"qfind-android-master" 这个...

Global site tag (gtag.js) - Google Analytics