Android WebView - 使用太多内存的图像

Posted

技术标签:

【中文标题】Android WebView - 使用太多内存的图像【英文标题】:Android WebView - Images using too much memory 【发布时间】:2017-12-02 07:18:56 【问题描述】:

该项目正在使用 webviews 来显示从服务器下载为 json 文件的 html 内容(html 内容是该 json 文件的一部分)。每个 html 都包含文本、图像和 url。问题是图像当前使用了大量内存(仅一张图像最多 70mb)。

我已经读过,可以通过从 webview 外部下载图像、减小其大小并使用本地文件路径替换 src 标记来“修复”这种行为。我目前在我的项目中使用 Glide。我现在的问题是,是否有人可以向我解释 webviews 行为背后的原因以及为此使用 Glide 的最佳方法。

【问题讨论】:

【参考方案1】:

通过调用以下方法,我能够减少 webview 的内存使用量(100mb 降至 50-60mb):

webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);         
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

也许其他人有一个想法来进一步减少它。

【讨论】:

以上是关于Android WebView - 使用太多内存的图像的主要内容,如果未能解决你的问题,请参考以下文章

Android WebView导致内存泄漏的问题

Android WebView导致内存泄漏的问题

如何及时清理Android里WebView的内存,尤其是大量图片的内存

[Android基础] WebView

Android中WebView的JavaScript代码和本地代码交互的三种方式

Android中WebView的JavaScript代码和本地代码交互的三种方式