太阳集团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手机版
更多
  • Q3财报:有「新」有「增」-杭州网络公司

    Q3财报:有「新」有「增」-杭州网络公司

    腾讯2024年第三季度财报显示,期内:微信及WeChat的合并月活跃账户数13.82亿。财报还提到:视频号得益于广告主对视频号、小程序及微信搜一搜广告库存的强劲

  • 微信小店助手APP来啦,方便得很!-杭州

    微信小店助手APP来啦,方便得很!-杭州

    一个好消息!微信小店助手APP已正式上架各大应用市场,安卓/iOS都可!商家经营更方便啦~核心功能速览——1、小店的管理,移动端都能搞定支持在移动端进行商品、交

  • 港澳小程序交易翻倍,有商家月入八位数!-

    港澳小程序交易翻倍,有商家月入八位数!-

    10月24日,微信公开课·港澳专场在香港举办。聚焦于 “双向奔赴:新生态、新机遇” 这一主题,微信团队以及深耕港澳小程序的标杆商家、服务商齐聚,一起探讨了大湾区

  • 4个月销售额翻10倍,这家小众户外品牌怎

    4个月销售额翻10倍,这家小众户外品牌怎

    微信小店 Lafuma户外热这个小众品牌如何在视频号破圈?首场达播试水,销售额突破300万平均客单价1800元常态化直播带货,4个月实现月销售额翻10倍数据来自

  • 微信小店11.11好物节即将启动!三大带

    微信小店11.11好物节即将启动!三大带

    微信小店 11.11 好物节活动激励计划低门槛 高激励主播作为带货主播报名活动,并选择“购物”类目开播,累计成交数据满足对应目标门槛,即可在活动结束后获得对应电

  • 这个爬山搭子,十几万黄山游客都在用-杭州

    这个爬山搭子,十几万黄山游客都在用-杭州

    国庆假期就要来了,有人想去爬黄山吗?琐事缠身的你可能还没来得及做攻略,又或者没订到合适的酒店……没关系!现在,@黄山旅游官方平台 通过企业微信、小程序、视频号等

  • 小程序,玩法上“新”!-杭州抖音短视频直

    小程序,玩法上“新”!-杭州抖音短视频直

    这波上“新”,是新加坡的“新” !9月23日,微信公开课·新加坡专场启幕,微信团队奔赴狮城,携手新加坡旅游局以及当地多家标杆企业,一起探讨小程序在跨境生态下的新

  • 官宣:微信小店新商家激励政策-杭州微信小

    官宣:微信小店新商家激励政策-杭州微信小

    五大激励政策助力新商家成长微信小店新商家激励政策血降门槛0保证金试运营减成本前百万自营交易额的技术服务费率减至1%刘促增长新商家成长流量激励加福利开通运费险享「

  • 如何做出NB的视频号?-杭州网络公司为你

    如何做出NB的视频号?-杭州网络公司为你

    @闪电制片厂 @国翠儿 @时差岛 @王可乐说这些NB的视频号你刷到过吗?最近,他们和视频号一起在NB的城市宁波聚会,现场分享了创作秘籍,视频号官方和大家交流了短

  • 又贵又火,之禾视频号年销3000万-杭州

    又贵又火,之禾视频号年销3000万-杭州

    3000多的牛仔裤,5000一件的亚麻衬衫,上万一条的桑蚕丝连衣裙……来自上海的时装品牌之禾因为高定价而出圈,并且业绩还在持续攀升。曾有外媒报道称,2022年,

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

浙公网安备:33010602011153

seo seo