Android WebView 缓存攻击性

问题描述 投票:0回答:2

我开发了一个 Web 应用程序,然后将其嵌入到 Android WebView 中。我遇到的问题是,与桌面 Chrome 相比,WebView 几乎没有进行任何资源缓存。

如您所见,WebView 几乎不缓存任何内容(此处仅缓存 2 个条目),而桌面 Chrome 则缓存所有内容。

WebView缓存: WebView caching Chrome 桌面缓存: Chrome Desktop caching

这可能是什么原因造成的?我可以做些什么来缓存更多内容吗?

我尝试使用settings.setAppCacheEnabled(true)启用AppCache,但这并没有改变任何东西。

编辑: 我认为缓存限制为 20MB,我已将 Web 应用程序的大小减小到 20MB 以下,现在它的缓存效果很好。我还没有找到增加大小限制的方法。

android caching android-webview
2个回答
1
投票

尝试在这些 setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)

 设置对象上设置 
WebView

在缓存资源可用时使用它们,即使它们已过期。


0
投票

我相信源代码中这是硬编码为 20MB 的,所以不幸的是我认为它不能增加。

static const int kMaximumCacheSizeBytes = 20 * 1024 * 1024;

https://android.googlesource.com/platform/external/webkit/+/jb-mr2-release/Source/WebKit/android/WebCoreSupport/WebCache.cpp

© www.soinside.com 2019 - 2024. All rights reserved.