太阳集团5493conlogo

  • 微博
  • 微信
  • QQ好友
  • QQ空间
  • 百度
详细内容

用好setData 性能不再卡-杭州微信小程序开发为你呈现

时间:2022-07-08     作者:杭州微信小程序开发【转载】   来自:微信派

随着小程序生态的蓬勃发展,多样化的用户需求推动更丰富的小程序功能。小程序承载更多的能力,伴随着更高的性能要求。无论是启动性能,还是运行性能,都会对用户体验产生影响,最终影响业务发展。




开发者可以通过 按需注入分包异步 等方式来优化启动性能。针对运行性能优化,合理使用 setData 是重要一环,离不开其中 2 个重要方式:

  • 减小每次 setData 的数据体积

  • 控制调用 setData 频率








优化diff算法 减小数据体积 

setData 建议只用来进行渲染相关的数据更新。调用 setData 更新与渲染无关的字段,触发额外的渲染流程,或者增加传输的数据量,影响渲染耗时。

减小数据体积主要有 2 个方向:


  1. 通过 setData 之前 diff 来减小数据体积
  2. 将不需要渲染到 wxml 的数据从 data 转移到其他地方存储


其中方向 1 能够通过递归方式深度遍历整个对象,从框架层面上对数据体积进行全面优化。



以购物车页面为例,将 setData 替换成 updateData。对比替换前 80KB 的数据量,经过 diff 优化的数据量减少至 0.8KB~20KB,数据减少比例最高达 100倍。数据体积减小使得 setData 消耗总时间优化 22%,渲染层总时间优化 39%



然而,data 嵌套多层数组和对象,导致 diff 算法遍历过程消耗大量时间。如果加上 diff 耗时,总时间仅优化 13.6%。因此优化 diff 算法非常必要,也非常简单。在 for in 循环中增加一个判断条件,跳过部分 object 和 array,避免遍历所有对象,能够减少 diff 耗时 16%。





合并setData 控制调用频率

由于每次 setData 都会触发逻辑层虚拟 DOM 树的遍历和更新,可能导致触发完整的页面渲染流程。因此,建议开发者将一个同步时间片里面的 setData 合并为一个,在下一个时间片执行 setData,减少对象遍历以及完整渲染的工作。


合理使用 setData 能够有效优化小程序运行性能,其中通过 diff 算法减小数据体积以及合并 setData 来控制调用频率 2 种方法减少 setData 耗时 22%,成功优化小程序性能体验。更多性能优化干货内容,欢迎点击 性能优化指南 了解。



如有其他小程序应用相关的问题,可在 微信开放社区小程序交流专区 发帖互动,技术专员将为大家解答及进行深度交流。

原创|腾讯前端开发工程师 shiyanzhang


image.png

太阳集团2138手机版
更多
  • 广告变现新机遇:小程序流量主代运营模式发

    广告变现新机遇:小程序流量主代运营模式发

    为帮助广大小程序商家进行流量变现,同时让服务商伙伴享受微信生态带来的商业价值。微信广告联合微信开放平台,推出“小程序流量主代运营”模式,通过为服务商(即“小程序

  • 微信广告 2023 年春节假期工作安排通

    微信广告 2023 年春节假期工作安排通

    2023 年春节假期即将来临,微信广告1月21日 至 1月27日(农历除夕至正月初六)各项服务工作安排如下,请大家根据运营需求提前做好安排:1. 广告主审核及充

  • 2022 Q4 用户最喜爱的朋友圈广告-

    2022 Q4 用户最喜爱的朋友圈广告-

    基于用户的互动行为及广告效果数据指标,我们找出了2022年第四季度用户最喜爱的朋友圈广告TOP 10(排名不分先后),期待更多好创意与你相见。TOP朋友圈广告用

  • 生活特辑 Vol.14 ᅵ

    生活特辑 Vol.14 ᅵ

    Good Life生活广告榜吃喝玩乐品生活,发现身边新乐趣。快来看看本季最受欢迎的身边广告。今天“吃”什么?吃喝福利,任你选新的一年不如用味觉拉开序幕不知道吃什

  • 速速集合,新年红包封面领取攻略来了-杭州

    速速集合,新年红包封面领取攻略来了-杭州

    新年怎样发红包姿势最帅?当然是用上最炫的红包封面!今年,红包封面又又又升级啦,全新动态红包封面上线,祝福更“动”人心。微信广告将携手众多品牌派发多款精美别致的红

  • 视频号互选好内容|11月-杭州网络公司为

    视频号互选好内容|11月-杭州网络公司为

    精选11月优秀视频号互选案例,为创作者指引好内容的风向,洞悉好商单的秘诀。理想汽车× 所长林超通俗科普,干货满满科技自主的路上,理想汽车的答案是什么。所长观察敏

  • 微信创作者营销价值与营销策略白皮书发布-

    微信创作者营销价值与营销策略白皮书发布-

    腾讯广告互选平台始于内容致远商业一图读懂微信创作者营销方法论微信创作者四大特点长久创作,深耕原创内容长久创作87.2%公众号运营超过2年垂类丰富体育 媒体 财经

  • 精华笔记|2022 腾讯广告创作者营销峰

    精华笔记|2022 腾讯广告创作者营销峰

    12月22日,腾讯广告以直播形式举办首届创作者营销峰会(以下简称“峰会”)。无论对广告主 / 代理商,还是创作者 / MCN机构,今年的峰会可谓是“一场及时雨”

  • 烟花贺岁:朋友圈点赞互动广告上线-杭州微

    烟花贺岁:朋友圈点赞互动广告上线-杭州微

    新年有新喜,微信广告全新推出朋友圈点赞互动广告,让品牌和用户一起放烟花,迎新年。品牌领赞,首枚烟花惊喜绽放;用户跟赞,个性化品牌烟花跃然出框;双向互动中激发更强

  • 即刻预约|2022 腾讯广告创作者营销峰

    即刻预约|2022 腾讯广告创作者营销峰

    连接放大价值腾讯广告创作者营销峰会2022/12/22邀请函尊敬的嘉宾:在内容创作者的黄金时代,无数品牌借力优质内容开辟出了商业增长新路径。作为微信商业内容官方

太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...

浙公网安备:33010602011153

seo seo