android - 清除安卓缓存

标签 android caching

您好,我有一个代码大小约为 1/2mb 的应用程序。该应用程序包含一个用于显示多个页面的 WebView 。因此,我的缓存最终为 2,5mb。不多但足够了。如何清除我的缓存 onDestroy?

谢谢!

最佳答案

将此代码放在 onDestroy() 中以清除应用程序缓存

@Override
    protected void onDestroy() {
        super.onDestroy();

        try {
            trimCache(this);
           // Toast.makeText(this,"onDestroy " ,Toast.LENGTH_LONG).show();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    public static void trimCache(Context context) {
        try {
           File dir = context.getCacheDir();
           if (dir != null && dir.isDirectory()) {
              deleteDir(dir);
           }
        } catch (Exception e) {
           // TODO: handle exception
        }
     }

     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;
              }
           }
        }

        // The directory is now empty so delete it
        return dir.delete();
     }

关于android - 清除安卓缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787335/

相关文章:

android - Retrofit + RxJava 缓存响应失败,疑似响应头

android - 如何解决位图大小超出 VM 预算

java - Android TextView中的阿拉伯日期显示

java - 从数据库加载时填充加载缓存

caching - 如何以编程方式清除项目的 CDN 缓存?

html - 使用 ajax 修改页面的问题,以及浏览器将未修改的页面保留在缓存中的问题

java - Android ROOM-如何在 RecyclerView 中显示来自 3 个相关实体的数据?

android - 一次关闭所有最近打开/运行的应用程序按钮-android

java - 如何处理 RecyclerView 项目 onClick,如果它对多个 Activity 使用单个适配器类

java - 缓存来自 RMI 的 POJO