Android webView 內存溢出解決方案

參考 : http://www.2cto.com/kf/201503/385753.htmlhtml

 

這個問題好像沒有獲得統一的認識,有些人使用以下方法,但我感受並不能根治:ide

大體思路: 最好是動態建立一個WebView的容器,而不是在xml佈局裏寫死。 wv= new WebView(context); 這個Context 不要用當前Acticvty的context,由於萬一當前Actity被殺死,則很容易OOM,因此咱們建議使用Applcation的context.佈局

接下來動態添加 addView(mWebView );最後在Destroy()方法中以下操做:spa

    @Overridecode

protected void onDestroy() {xml

    ll.removeAllViews();htm

    wv.stopLoading();進程

    wv.removeAllViews();內存

    wv.destroy();rem

    wv = null;

    ll = null;

    super.onDestroy();

}

 

WebView 的根治

一般根治這個問題的辦法是爲 WebView 開啓另一個進程,經過 AIDL 與主進程進行通訊, WebView 所在的進程能夠根據業務的須要選擇合適的時機進行銷燬,從而達到內存的完整釋放.

相關文章
相關標籤/搜索