Webview的各種坑

1.WebView第一次創建在5.X的手機上會比較耗時,會影響頁面的啓動速度,不管是動態創建還是layout裏的結點,第二次創建就不會出現這種情況,第一創建可以做了一些全局初始化的操作,所以可以在啓動頁或主頁預先創建Webview提前做全局的初始化。

2.WebView內存泄露,詳見:

方案1:http://blog.csdn.net/shareus/article/details/51742799

在onResume裏setJavaScriptEnabled(true),在onPause裏setJavaScriptEnabled(false)

I got this Leaked Connection when using a WebView in my Fragment. In the onCreateView method I did setJavaScriptEnabled(true), which caused this error, when pressing back on the Activity. To get rid of it, I moved the set to onResume(), and also set it to false in onPause(), then problem disappeared.

回收:

public void destroyWebView() {
        ViewParent parent = getParent();
        if (parent != null) {
            ((ViewGroup) parent).removeView(this);
        }
        stopLoading();
        // 退出時調用此方法,移除綁定的服務,否則某些特定系統會報錯
        getSettings().setJavaScriptEnabled(false);
        clearHistory();
       loadUrl("about:blank");
        //clearView();
        removeAllViews();
        try {
            destroy();
        } catch (Throwable ex) {
        }
    }

方案2:詳見http://www.cnblogs.com/hnrainll/p/4309792.html

加載WebView的界面開啓新進程,在該頁面退出之後System.exit(0)關閉這個進程

3.Android WebView常見問題及解決方案彙總 ,詳見:http://blog.csdn.net/t12x3456/article/details/13769731/

發佈了343 篇原創文章 · 獲贊 120 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章