加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 显示错误 – “Blink延迟任务以使滚动更顺畅”

发布时间:2020-12-17 08:47:11 所属栏目:安全 来源:网络整理
导读:我正在尝试使用角度来构建离子(1)app. 我不明白为什么我会收到这个警告 “Blink推迟了一项任务,以使滚动更顺畅.您的计时器和网络任务运行时间不应超过50毫秒,以避免这种情况.请参阅https://developers.google.com/web/tools/chrome-devtools/profile/evaluat
我正在尝试使用角度来构建离子(1)app.
我不明白为什么我会收到这个警告

“Blink推迟了一项任务,以使滚动更顺畅.您的计时器和网络任务运行时间不应超过50毫秒,以避免这种情况.请参阅https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/rail和https://crbug.com/574343#c40以获取更多信息.”

当我使用页面滑块时,还有其他警告

“忽略尝试使用cancelable = false取消touchmove事件,例如因为滚动正在进行且无法中断.”

“由于主线程繁忙,’touchstart’输入事件的处理延迟了835毫秒.考虑将事件处理程序标记为”被动“以使页面响应更快”

这个警告是“正常”. webview基本上告诉你一些事件被绑定到滚动事件甚至触摸事件,这可能会减慢应用程序的速度.谷歌文档建议例如使用间隔而不是直接在touchmove / drag事件上运行计算或函数,这对于具有webview的移动应用程序来说并不总是可行,具体取决于您尝试完成UX的目的.

此外,如果你使用setInterval,你将不得不使用疯狂的激进时间,如10毫秒,你的滚动/拖动将看起来非常糟糕.
只要忘记这些警告,它们是非常通用的,很可能是指导方针,但大部分时间都无法避免.

如果您仍想避免警告,这是一个jQuery示例.我们的想法是从事件中捕获任何值,然后在单独的线程上运行计算.

var int,x,y;

 $('#mydiv').on('touchstart',function(event){
      int = setInterval(work,20);
 });

 $('#mydiv').on('touchend',function(event){
      clearInterval(int);
 });

 $('#mydiv').on('touchmove',function(event){
      x = event.touches[0].pageX;
      y = event.touches[0].pageY;
 });  

 function work(){
      //how you can do whatever with x y without getting a warning 
 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读