周末花了些时间,好好把之前用户反馈的网络管理器开启后导致的卡顿和其他bug调试了下
发现在特定情况下的确会发生一些问题,包括:

  • 开启后可能会导致表情包加载卡顿,使浏览器陷入很长时间的无响应状态
  • 开启后,如果正常使用一段时间后,浏览器tab陷入sleep后再恢复,有一定几率触发高频请求
  • firefox的头像加载缓慢,页面加载前先进入一段白屏

经过调试后,发现很多跟service worker休眠后再恢复过程中的协商处理逻辑有关,周末迭代了好多个版本,目前在这个环节已经非常稳定
firefox加载疑似和缓存版本有关,因此重建了缓存版本,清除了历史缓存版块,多次尝试已经不再出现问题
service worker不愧是被戏称火箭工程,想要灵活使用要处理的细节太多了

为什么要费劲调这些,不开启不就行了吗

建议保持网络管理器开启状态

修正这些细节bug,就是为了不会因为细节体验而劝退使用,正常开启网络管理器的好处是很多的
网络管理器做了细粒度的缓存控制,这对浏览网页的提亚提升是很大的
比如拿头像来说,每次请求都是先查缓存,渲染,然后再后台请求更新的,这样保证了头像几乎是无网络加载延迟的
css和js等静态资源是以版本号来做长期固定储存的,缓存后长期有效
网络管理器还和后面的一些开发计划有关系,重要性挺高的

开启网络管理器后,90%以上的请求数目都优化掉了,原理上说,每个用户自身应该是变好的

再测试一段时间,看看表现情况

nsapp://vote?id=862

感谢大家积极反馈意见