我用Android应用程序使用webview
加载包含数千张图片的网站,已经挣扎了3天。
该应用程序开始运行良好,但滚动了几百张图像后,webview
冻结(它不强制关闭)logcat (check it on pastebin)显示
E/Surface dequeueBuffer failed (Unknown error 2147483646)
我尝试了什么:
clearCache(true);
setAppCacheEnabled(false);
webView.setLayerType()
设置为NONE,SOFTWARE和HARDWARE "android:largeHeap="true"
和
清单上的android:hardwareAccelerated="true"
。finish();
webViewPlaceholder.removeView(myWebView);
myWebView.removeAllViews();
myWebView.destroy();
似乎android将webview
保留在内存中,清理缓存没有任何效果
当我关闭应用程序并重新打开它时,错误会立即出现,所以看起来即使关闭应用程序也不会释放它使用的内存。
老实说,我没有办法解决这个问题,我已经在webview上看到了相当多的答案,但我仍然无法解决问题。
我很感激 light !
答案 0 :(得分:0)
for KitKat 4.4.3或更高版本将硬件加速设置为false:
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);