2014-04-09 70 views
4

我一直在努力3天的Android應用程序,使用webview加載我的網站,其中包含成千上萬的圖像。 應用開始很好,但滾動槽幾百圖像webview凍結(不強制關閉)後logcat (check it on pastebin)顯示表面 - dequeueBuffer失敗(未知錯誤2147483646)

E/Surface dequeueBuffer failed (Unknown error 2147483646) 

我已經試過:

  1. 數量限制每個活動中的圖像,當用戶查看100 圖像時,啓動另一個活動。
  2. 清除web視圖緩存onCreation,在onPause,的onStop等.. clearCache(true);
  3. 設置web視圖緩存爲false setAppCacheEnabled(false);
  4. 殺活性的開幕活動B和反之亦然
  5. 後設置webView.setLayerType()爲NONE ,SOFTWARE and HARDWARE
  6. 聲明"android:largeHeap="true"android:hardwareAccelerated="true"上的清單。
  7. 把網頁視圖的佔位符內將其刪除之前finish();

webViewPlaceholder.removeView(myWebView); 
myWebView.removeAllViews(); 
myWebView.destroy(); 

看來,機器人保持webview在內存中清除緩存沒有任何影響。
當我關閉應用程序並重新打開它時,錯誤立即出現,所以它似乎甚至沒有關閉應用程序釋放它使用的內存。
老實說,我沒有看到解決這個問題的方法,我已經閱讀了相當數量的答案來解決webview上的問題,但我仍然無法解決問題。
我將不勝感激在這裏!

回答

0

用於奇巧4.4.3或更高版本設置硬件加速爲false:

webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
相關問題