jjadamal
jjadamal
  • 发布:2017-10-23 15:04
  • 更新:2017-10-23 15:51
  • 阅读:2064

非激活状态的WebView上有个setinterval

分类:MUI

WebView类似于一个框架中N个div,激活的WebView像图层一样显示在最顶层,那么问题来了,如果未激活的WebView上有setinterval代码,是不是后台也会一直执行?

2017-10-23 15:04 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

这个WebView如果是hide或show状态,那么就会一直执行到被close为止

jjadamal

jjadamal (作者) - 码农界最佳管理员,管理界最好的程序员

那这样的话,就必须要销毁隐藏的WebView,如果preload的WebView也会执行interval的话,预加载就没什么意义了,APP很多页面都要实时和服务器交互的,比如说一秒一次不间断。这样客户端的内存开销都不得了

jjadamal

jjadamal (作者) - 码农界最佳管理员,管理界最好的程序员

那这样的话,就必须要销毁隐藏的WebView,如果preload的WebView也会执行interval的话,预加载就没什么意义了,APP很多页面都要实时和服务器交互的,比如说一秒一次不间断。这样客户端的内存开销都不得了

jjadamal

jjadamal (作者) - 码农界最佳管理员,管理界最好的程序员

每打开一个新的WebView就要把其他所有WebView销毁。因为每个页面都在一秒一次向服务器post数据

回梦無痕

回梦無痕 - 暂停服务

show事件开启定时,和hide事件里关闭定时。

回梦無痕

回梦無痕 - 暂停服务

每个WebView都会一秒一次向服务器post数据,那么最好做长连接。不然客户端多了之后。。。。。。

jjadamal

jjadamal (作者) - 码农界最佳管理员,管理界最好的程序员

做一个递归$.post就能实现长连接,但也只是解决了网络堵塞和延迟,服务器端的负载还是在的。

  • 回梦無痕

    递归post长轮询和WebSocket 还是有很大区别的,使用WebSocket前端负载明显降低。服务器和客户端也不用频繁处理握手,同时有10000个post请求和同时10000个长连接反馈不是一个级别的,当然服务器的业务部分的负载还是不变,服务器得足够性能,反馈才能及时的。

    2017-10-23 16:04

jjadamal

jjadamal (作者) - 码农界最佳管理员,管理界最好的程序员

服务器端再用nosql来优化,感谢回梦無痕热心解答。

该问题目前已经被锁定, 无法添加新回复