如何清除特定活动的缓存?

Posted

技术标签:

【中文标题】如何清除特定活动的缓存?【英文标题】:How to clear cache on a specific activity? 【发布时间】:2019-03-08 10:57:57 【问题描述】:

我在android studio上搭建了一个android应用来获取客户的反馈,在每个activity开始的时候,我放了一个画外音。当客户完成任务后,应用返回到第一个屏幕(activity 1).

我想在应用程序到达最后一个活动时清除缓存以避免缓存问题(缺少声音..等)

非常感谢

【问题讨论】:

【参考方案1】:

要删除您自己的应用程序的缓存,然后只需删除您的缓存目录

public static void deleteCache(Context context) 
try 
    File dir = context.getCacheDir();
    deleteDir(dir);
 catch (Exception e)  e.printStackTrace();


public static boolean deleteDir(File dir) 
if (dir != null && dir.isDirectory()) 
    String[] children = dir.list();
    for (int i = 0; i < children.length; i++) 
        boolean success = deleteDir(new File(dir, children[i]));
        if (!success) 
            return false;
        
    
    return dir.delete();
 else if(dir!= null && dir.isFile()) 
    return dir.delete();
 else 
    return false;


它不会清除您的共享偏好。

谢谢……

【讨论】:

我应该把这段代码写在activity的java文件还是manifest上? @AyoubNassiri 您要删除应用程序缓存的位置。一旦参考这个link @Ayoub Nassiri,在您的 Activity 方法 @Override onDestroy 上调用上述方法。

以上是关于如何清除特定活动的缓存?的主要内容,如果未能解决你的问题,请参考以下文章

如何从本地 cocoapods 缓存中清除或清理特定的 pod

如何从客户的 PC 中清除缓存的网站? [复制]

具有特定规则时,Cloud-flare 缓存清除不起作用

php 清除特定键#laravel #shell的缓存

发布新的Vue应用程序版本时如何清除chrome中的缓存

关于微信页面调试清除缓存问题