最近项目中用到webview加载H5页面,需要实现在网络状态改变时webview做出对应的操作,
样在做对应操作时就会执行好多回,对代码效率造成影响。那么目的就是不管收到了几回
广播,对应操作只执行一次。经过研究,最后的思路是通过接收广播的时间间隔来判断是
否执行,只有当两次接受广播的时间间隔大于100毫秒时才会执行。代码如下
//两次接受广播间隔大于100ms时才会执行
if (System.currentTimeMillis() - time > 100) {
time = System.currentTimeMillis();
//网络状态连接时重载url
if (AppUtils.netState() != 0) {
hideTipsView(contextView);
web_view.loadUrl(url);
}
}
如果两次广播间隔在100ms,则判断是否有网络连接,如果有网络连接则执行操作(webview.load(url))。