十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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时出现内存泄露如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。