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

首頁 > 系統 > Android > 正文

Android webview 內存泄露的解決方法

2019-10-22 18:32:08
字體:
來源:轉載
供稿:網友

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 內存泄露的解決方法的實例詳解,如有疑問請大家留言討論,共同進步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙游县| 新密市| 沅江市| 多伦县| 左云县| 策勒县| 德清县| 永丰县| 金沙县| 建水县| 太保市| 沁水县| 赫章县| 五河县| 正安县| 龙南县| 龙游县| 从化市| 探索| 平南县| 泰来县| 财经| 阜南县| 扎鲁特旗| 临江市| 涡阳县| 新昌县| 调兵山市| 渑池县| 紫阳县| 武鸣县| 兴山县| 桐庐县| 玉环县| 当雄县| 静乐县| 中江县| 田东县| 永州市| 博兴县| 乐山市|