国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android webview 內存泄露的解決方法

2019-12-12 02:27:29
字體:
來源:轉載
供稿:網友

Android webview 內存泄露的解決方法

最近在activity嵌套webview顯示大量圖文發現APP內存一直在漲,沒法釋放內存,查了很多資料,大概是webview的一個BUG,引用了activity導致內存泄漏,所以就嘗試傳遞getApplicationContext。

1.避免在xml直接寫webview控件,這樣會引用activity,所以在xml寫一個LinearLayout,然后 linearLayout.addView(new MyWebview(getApplicationContext()));

這樣動態生成webview就能避免內存泄漏,可是這樣會導致部分機型的webview里面點擊超鏈接會出現異常,程序崩潰,暫時的解決辦法是禁止點擊,需要重寫webview,

public class MyWebview extends WebView {  public MyWebview(Context context) {    super(context);  }   public MyWebview(Context context, AttributeSet attrs) {    super(context, attrs);  }   public MyWebview(Context context, AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);  }   @Override  public boolean onTouchEvent(MotionEvent event) {    return false;  }}

這樣能避免出現程序崩潰。

2.activity關閉時需要手動釋放webview內存

@Override  protected void onDestroy() {    super.onDestroy();    if(webview_projectinfo != null){      webview_projectinfo.removeAllViews();      webview_projectinfo.destroy();      webview_projectinfo = null;      ll_webview.removeAllViews();      ll_webview = null;    }}

上面的方法 已經可以把內存釋放出來,但是有缺陷,就是沒法點擊webview的內容,還有一種方法是給嵌套webview的activity另開一個進程,作為一個獨立進程展示  

以上實用對 Android webview 內存泄露的解決方法的實例詳解,如有疑問請大家留言討論,共同進步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万宁市| 柯坪县| 丹巴县| 监利县| 金山区| 青神县| 三穗县| 龙海市| 上饶县| 古丈县| 鲁山县| 中宁县| 通州市| 星子县| 隆安县| 柞水县| 天津市| 太康县| 台山市| 山东省| 澄迈县| 阿勒泰市| 大足县| 旌德县| 安远县| 渭源县| 龙川县| 澜沧| 威远县| 聂拉木县| 辽宁省| 额济纳旗| 法库县| 昌吉市| 平罗县| 重庆市| 隆回县| 富平县| 鸡东县| 崇州市| 随州市|