请问:移动端页面过长引起的滑动卡顿现象,都有何种解决方案或思路?

发布于 2022-08-29 23:46:57 字数 68 浏览 23 评论 0

如题:移动端页面过长,DOM过多,导致滑动页面时会出现卡顿现象,混动不流畅,体验比较差,请问各位有无解决方案或者思路?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

裂开嘴轻声笑有多痛 2022-09-05 23:46:57
  1. 建议chrome profile分析一下,依据经验来看,如果是单纯的长页面应该不至于在滚动的时候出现卡顿,看一下是否页面内元素有未处理的touchmove事件冒泡给了documentbody,导致页面滑动时频繁触发事件;

  2. 还有一种可能是移动端页面上大量应用一些伪元素来模拟原生效果,比如0.5px的线条,如果布局不合理很有可能在页面滚动时造成大面积paint,gpu ram瞬间飙涨,fps极速下降。

  3. 超长页面节约内存的办法,在滚动的时候,将不在当前屏幕内的节点直接回收掉,可以做上中下三屏缓存(具体可以参考一下淘宝m站点的做法,首次只加载10个items,当离开屏幕区域的items超过30个时(印象中大概是如此的),将离开的这些items直接戳上一个回收标记,只要戳上这个标记的item就可以被安全地回收掉。)

椵侞 2022-09-05 23:46:57

首先可以精简dom的层级,一个img能定位的就别外面再套一层div,一个a能做到的就别在里面再写p,这样做了一般在ios就不会很卡了
如果还是卡的话可以试试滚动到下面的时候js去hide掉顶层的数据,滚动回去的时候再show出来

懷念過去 2022-09-05 23:46:57

我觉得页面过长不是主因,题主八成用了视差滚动之类的东西,导致页面滚动的时候总是回流。试着把特效都关掉再看看卡不卡

疏忽 2022-09-05 23:46:57

常见思路:html5的性能跟不上的时候就用原生控件。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文