android webview 清除缓存,Android Webview - 完全清除缓存

e643ae214b55fab93afd48e0880fab24.png

湖上湖

由Gaunt Face发布的上面编辑的代码片段包含一个错误,如果目录无法删除,因为其中一个文件无法删除,代码将继续在无限循环中重试。我把它改写成真正的递归,并添加了一个numDays参数,这样你就可以控制修剪文件的年龄://helper method for clearCache() , recursive//returns number of deleted filesstatic int clearCacheFolder(final File dir, final int numDays) {

    int deletedFiles = 0;

    if (dir!= null && dir.isDirectory()) {

        try {

            for (File child:dir.listFiles()) {

                //first delete subdirectories recursively

                if (child.isDirectory()) {

                    deletedFiles += clearCacheFolder(child, numDays);

                }

                //then delete the files and subdirectories in this dir

                //only empty directories can be deleted, so subdirs have been done first

                if (child.lastModified() 

                    if (child.delete()) {

                        deletedFiles++;

                    }

                }

            }

        }

        catch(Exception e) {

            Log.e(TAG, String.format("Failed to clean the cache, error %s", e.getMessage()));

        }

    }

    return deletedFiles;}/*

 * Delete the files older than numDays days from the application cache

 * 0 means all files.

 */public static void clearCache(final Context context, final int numDays) {

    Log.i(TAG, String.format("Starting cache prune, deleting files older than %d days", numDays));

    int numDeletedFiles = clearCacheFolder(context.getCacheDir(), numDays);

    Log.i(TAG, String.format("Cache pruning completed, %d files deleted", numDeletedFiles));}希望对其他人有用:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值