您好,登錄后才能下訂單哦!
Android中使用webview時出現內存泄露如何解決,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
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; } }
關于Android中使用webview時出現內存泄露如何解決問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。