【问题标题】:Why is Android WebView's cache counted as non-cache data by App Manager?为什么Android WebView的缓存被App Manager算作非缓存数据?
【发布时间】:2018-11-29 05:14:20
【问题描述】:

在我的 WebView 应用中,我正在做:

browser.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
browser.getSettings().setAppCacheEnabled(true);

但在我的测试 Android 4.4 设备 (Sony Xperia Z Ultra) 上,如果我转到设置/应用程序/我的应用程序名称,缓存的文件将计入“设备上的数据”下,而不是“缓存”下。

这是一个问题,因为 (1) “清除数据”按钮也会清除 cookie,无法从该屏幕仅清除缓存以及 (2) 如果系统未将此缓存识别为“缓存”那么估计在存储空间紧张时它无法自动清除它。我可以通过提供自己的用户界面来清除缓存来解决 (1),但我无法解决 (2)。

为什么setAppCachePathgetCacheDir导致应用管理器将占用的空间计为“缓存”而不是“数据”?

【问题讨论】:

    标签: android caching


    【解决方案1】:

    原来这是Chromium bug 245549,它已在 2014 年 11 月末修复,因此可能会影响低于 6.0(API 23)的所有 Android 版本。当Integer.valueOf(Build.VERSION.SDK)<23 停止在旧手机上占用太多空间时,我可能应该在onDestroy 中使用clearCache

    【讨论】:

      猜你喜欢
      • 2010-11-25
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 2012-02-13
      • 2021-02-05
      • 2021-03-31
      • 2012-02-26
      相关资源
      最近更新 更多