我有解析 XML 提要(带有新闻)并在 WebView 中加载解析数据(文本和图像 url)的活动,这些数据位于图库小部件内。
像这样的东西:
mimeType = "text/html";
encoding = "utf-8";
String html = "<img src=\""
+ newsImageUrl.get(position)
+ "\" style=\"max-width:200px; max-height:200px;\" align=\"left\""
+ "/>" + newsDescription.get(position);
data.loadDataWithBaseURL("", html, mimeType, encoding, "");
一切正常,但有时在新闻提要中有这个大图像。好吧,除非您开始旋转手机,否则它们不会引起任何问题。经过几次方向更改后,我们遇到了内存不足异常。
好吧,在 Android 中,OOM 总是隐藏在 Bitmas 附近的某个地方,这就是为什么大多数人将 BitmapFactory 与 inSampleSize 或其他更奇特的东西一起使用。好吧,据说,我可以下载和重新采样图像,然后从 SD 卡中加载它们。但现在我会尽量避免它。
无论如何,问题是 - 在 WebView 中加载大图像时如何处理它们?有没有办法调整它们的大小(不仅仅是视觉上)?有什么方法可以清除 WebView onOrientationChange 占用的内存(webview.freeMemory() 并没有真正帮助)。