智能小程序新增Page.onInit功能,有效提升性能

为了进一步帮助你提升小程序性能,缩短小程序的页面渲染时间,智能小程序推出了新的生命周期Page.onInit,可以在3.160.12及以上的基础库版本中使用。

更多内容视图开发人员社区:

https://smartprogram.baidu.com/forum/topic/show/115695?fr=今日头条

更多招聘信息

:https://talent.baidu.com/external/baidu/index.html#

/社交/2/智能小程序研发

以百度知道小程序为例。使用Page.onInit优化后,屏幕时间增加了210ms左右。

智能小程序新增Page.onInit功能,有效提升性能
智能小程序新增Page.onInit功能,有效提升性能

以下是百度知道、百度百科、宝宝知道使用Page.onInit后的好处:

智能小程序新增Page.onInit功能,有效提升性能
智能小程序新增Page.onInit功能,有效提升性能

Page.onInit是百度智能小程序提供的页面级生命周期。生命周期功能的执行比页面中的其他生命周期要早得多。

如果在Page.onInit中进行网络请求,会提前获取页面数据。所以页面的渲染时间会缩短,小程序的用户体验会大大提升。

如果对小程序的启动原理感兴趣,可以参考下图所示的小程序启动流程。Page.onInit在收集initData并发送setInitData后立即执行。可以看出onInit中页面主数据的请求会比页面的其他生命周期更快。

智能小程序新增Page.onInit功能,有效提升性能
智能小程序新增Page.onInit功能,有效提升性能

如果想了解Page.onInit的详细原理,可以参考下图。applet在设置setInitData后立即执行Page.onInit。

智能小程序新增Page.onInit功能,有效提升性能
智能小程序新增Page.onInit功能,有效提升性能

如果将主数据请求从Page.onLoad转移到Page.onInit,小程序的页面加载性能会有很大的提升。

开发人员可以在onInit中向服务器请求数据,并执行setData。该图显示了setData的两个机会,应该注意的是:

如果发送setData的时机早于渲染线程的FCP,则可以在onLoad中获取该setData的视图信息。如果setData晚于FCP,那么onLoad将不会获得该setData的视图信息。Page.onInit的接口文档和说明见官方文档onInit(对象查询)

下面是一些关于onInit使用的限制和建议:

不能执行任何依赖于视图层的操作,包括但不限于:selectComponent、selectAllComponents、swan.createSelectorQuery、swan.createMapContext、swan.createCameraContext、swan.createCanvasContext等。由于不是所有版本的basic库都支持这种生命周期,开发人员可以参考官方文档中的代码片段来添加兼容性逻辑。如果你的小程序在逻辑线程初始化阶段瓶颈比较大,使用Page.onInit可能效果不明显。建议从减少动态库和插件的使用,减少App.onLaunch的耗时等角度进行优化,有两种方式供你验证Page.onInit的相关功能:

真机验证:使用百度11.20版本及以上。开发者工具:需要安装3.8.0或以上稳定版或rc版开发者工具,并将基础库版本设置为3.160.12或以上,下载地址。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/180473.html

(0)

相关推荐

  • 五分钟快速设置phpstudy

    哈,这是刚刚加了一条秋裤的兰克菲。 这两天下雪了,上一次下雪的记忆还是在2009年。那时候,我闹翻了好几次。哦,我觉得我比狐狸还滑。 希望朋友们注意保暖,出门注意脚下。 上次我们讨…

    攻略 2022年3月13日
  • 网站的优化升级操作内容?如何提高网站排名?

    网站优化升级操作内容?如何提高网站的排名?网站开发制作和网站优化会有不同的侧重点。在网站的开发中,更多要关注的是展示和使用的问题,而网站优化则是帮助网站更好的升级。 对网站进行优化…

    攻略 2022年3月13日
  • 微信搜一搜排名规则是什么?吃透为你带来源源不断的流量

      这是姚运涛的第 38 篇原创分享 昨天写了一篇关于微信搜搜的文章“微信搜一搜月活跃用户超7亿,会是下一个流量入口吗?” 许多人提出了疑问:微信搜一搜有那么厉害吗?会不…

    2022年3月13日
  • 移动生态全面企稳 信息流与小程序带来新增长

    中新网11月7日电11月7日,百度发布了2019年第三季度未经审计的财报。财报数据显示,百度本季度营收281亿元,归属于百度的净利润达到44亿元(非美国通用会计准则),超出市场预期…

    2022年3月13日
  • 百度算法回顾及SEO优化的六大步骤

    当你的公司开始运营网站的时候,通过搜索引擎优化(SEO)提高内容曝光度和网站权重,是获得免费流量的好方法。近年来,SEO受到各大品牌的重视。下面是让品牌官网做好SEO的关键。 SE…

    2022年3月13日
  • 除裂变外,小程序还可以怎么做增长?

    目前小程序的成长手段主要依靠裂变手段,但如果裂变活动把握不好,很容易被判定为骚扰用户,甚至被微信官方封杀。那么对于小程序的成长,我们还能做些什么呢? 张小龙对小程序的定义是增加微信…

    2022年3月13日