[发明专利]解决拦截转发Android Webview的请求后页面加载变慢的方法在审
申请号: | 201911409341.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111159605A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 吴晓龙 | 申请(专利权)人: | 杭州云缔盟科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解决 拦截 转发 android webview 请求 页面 加载 方法 | ||
本发明公开了解决拦截转发Android Webview的请求后页面加载变慢的方法,其特征在于包括以下步骤:(1)对Webview设置自定的WebViewClient对象,重写WebViewClient对象的shouldInterceptRequest方法;(2)在shouldInterceptRequest方法中拦截请求,并通过HttpURLConnection网络框架转发并处理;(3)创建新的WebResourceResponse对象,作为shouldInterceptRequest的返回值;(4)创建新的inputStream对象,inputStream对象作为WebResourceResponse的第三个参数,重写inputStream对象的read方法;(5)在重写的read方法中,获取到httpUrlConnection的InputStream对象,调用InputStream的read方法并返回。在请求发出后,不阻塞下一个请求,当前请求的响应由另外的线程去异步获取,提高页面加载效率。
技术领域
本发明涉及解决拦截转发Android Webview的请求后页面加载变慢的方法。
背景技术
手机移动端网页开发过程中,在某些场景下,需要拦截Webview所有的请求,并针对请求的响应做相应的处理。URL的拦截是由Webview提供的WebViewClient对象处理,因此需要对Webview对象设置自定义的WebViewClient,并在WebViewClient对象中的shouldInterceptRequest方法中获取需要拦截的请求。在请求收到响应后,把响应结果封装成WebResourceResponse对象返回。现有方案具有如下缺点:拦截到WebView发出的请求后,当前请求未得到响应之前,下一个请求无法发出,被阻塞,导致网页加载变慢,效率很低
发明内容
本发明的目的在于针对现有技术的不足,提供解决拦截转发Android Webview的请求后页面加载变慢的方法。
为了解决上述技术问题,采用如下技术方案:
解决拦截转发Android Webview的请求后页面加载变慢的方法,其特征在于包括以下步骤:
(1)对Webview设置自定的WebViewClient对象,重写WebViewClient对象的shouldInterceptRequest方法;
(2)在shouldInterceptRequest方法中拦截请求,并通过HttpURLConnection网络框架转发并处理;
(3)创建新的WebResourceResponse对象,作为shouldInterceptRequest的返回值;
(4)创建新的inputStream对象,inputStream对象作为WebResourceResponse的第三个参数,重写inputStream对象的read方法;
(5)在重写的read方法中,获取到httpUrlConnection的InputStream对象,调用InputStream的read方法并返回。
进一步,在步骤(2)中,WebResourceResponse对象需要第一参数和第二参数,第一参数为contentType,第一参数从HttpUrlConnection中获取;第二参数为charset,第二参数从HttpUrlConnection中获取。
进一步,read方法用于webview底层异步调用。
由于采用上述技术方案,具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云缔盟科技有限公司,未经杭州云缔盟科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911409341.3/2.html,转载请声明来源钻瓜专利网。