android webview 基类,Android WebView基本使用配置

WebView在APP里可以说是无处不在了,随便一个应用都能看到它的身影,我们在使用的时候经常需要简单配置,这里有个建议就是根据具体项目将Webview简单封装,然后再继承这个基类,免去重复代码。这里记录一下在简单加载网页的使用配置,方便查找。

基本配置

WebSettings webSettings = webView.getSettings();

//支持缩放,默认为true。

webSettings .setSupportZoom(false);

//调整图片至适合webview的大小

webSettings .setUseWideViewPort(true);

// 缩放至屏幕的大小

webSettings .setLoadWithOverviewMode(true);

//设置默认编码

webSettings .setDefaultTextEncodingName("utf-8");

设置自动加载图片

webSettings .setLoadsImagesAutomatically(true);

高级配置

//多窗口

supportMultipleWindows();

//获取触摸焦点

webview.requestFocusFromTouch();

//允许访问文件

setAllowFileAccess(true);

//开启javascript

setJavaScriptEnabled(true);

//支持通过JS打开新窗口

setJavaScriptCanOpenWindowsAutomatically(true);

//提高渲染的优先级

webSettings.setRenderPriority(RenderPriority.HIGH);

//支持内容重新布局

setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

//关闭webview中缓存

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

访问网址

webView.loadUrl("https://www.google.com.hk/?gws_rd=ssl");

访问应用内资源

新建assets文件夹,在此文件夹下新建HTML文件如:js_demo.html。

bccfb2cc40a6?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

新建Assets文件夹方法

webView.loadUrl("file:///android_asset/js_demo.html");

加载HTML片段或者富文本字符串

webView.loadData(data, "text/html; charset=UTF-8", null);

这样写一般就不会乱码了,data为String字符串。

使用loadDataWithBaseURL方法加载内容

webView.loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl)

loadDataWithBaseURL()可以指定HTML代码片段中相关资源的相对根路径,也可以指定历史Url,baseUrl指定了data参数中数据的基准地址,data中的数据可能会有超链接或者是image元素使用了相对路径,如果没有baseUrl,webview将访问不到这些资源。

内存泄露问题

在 Activity 的onDestroy()生命周期,首先让 WebView 加载 null 内容,然后移除 WebView,再销毁 WebView,最后置空。代码如下:

@Override

protected void onDestroy() {

if (webView!= null) {

webView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);

webView.clearHistory();

((ViewGroup) webView.getParent()).removeView(mWebView);

webView.destroy();

webView= null;

}

super.onDestroy();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值