安卓 WebView 使用小结 避免内存溢出 适合新手

如今安卓APP重大多都用到了WebView+H5混合开发,废话不多说,先来总结下WebView两个重要的类:

WebViewClient:类中有很多方法,帮助我们随时监听网页的加载状态
1、shouldOverrideUrlLoading(): 网页中所有的加载动作都可以通过这个方法拦截获取
2、onPageStarted():加载页面之前调用
3、onPageFinished(): 页面加载结束
4、onLoadResource() : 每次请求网络资源的时候都会调用
5、onReceivedError() : 加载网页出现错误的时候
6、onReceivedSslError() : 处理Http请求

WebChromeClient:类中的方法可以处理JS中的各种对话框(webView默认不支持网页中的对话框) 网站标题 网站图标
1、onProgressChanged(): 获得网页的加载进度
2、onReceivedTittle() : 获得WEB页面的标题
3、onJsAlert() : 支持JS的警告框
4、onJsConfirm() : 支持JS的确认框

避免WebView内存泄漏:
1、不要再xml文件中使用WebView 直接在代码中使用,并且使用ApplicationContext
2、在Activity销毁的时候,先让WebView加载null,然后从根布局中移除,然后在销毁,最后制空
@Override  
protected void onDestroy() {  
if (mWebView != null) {  
mWebView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);  
mWebView.clearHistory();  
((ViewGroup) mWebView.getParent()).removeView(mWebView);  
mWebView.destroy();  
mWebView = null;  
}  
super.onDestroy(); 
}





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值