这次的性能优化,我们找寻了小程序运行中可能影响性能的点,再针对这些影响点我们提出可行的优化建议,落地方案,最终一个个小的优化汇合成一个大的结果,使小程序的性能得到大幅的改善。在探究的过程中我们并没有细述所有的流程,我们只是着重分析小程序打开页面至用户交互的流程,有兴趣读者可以继续深挖源码,例如在各个阶段小程序初始化了什么构造器,基础库提供了什么能力等等,这有帮助我们更好的理解小程序设计的思路。
从资源下载载入到代码接口请求次数,数据通信再到多媒体资源和手机性能的考虑,我们抽丝剥茧,深挖流程,从表象中找寻埋藏在深层的本质。因为小程序相对较低的开发门槛,使得很多开发者对小程序的使用程度仅仅停留在“能用”、“能实现功能”的阶段上,并没有去深入了解小程序。本文也是想抛砖引玉,带读者粗浅了解小程序执行流程下的步骤,如果读者通过这次阅读能有所收获并激起了阅读小程序源码,深究细节的心,那便是本文最大的成功。
相比于上面的优化策略,最重要的是找出小程序中的性能瓶颈。在自己的优化实践中,遇到了下面的问题:
下拉加载更多,特别特别卡,通过列表局部更新的技巧,发现性能改善不大。后来发现,是因为首页需要监听scroll事件,导致scroll事件被频繁的触发,回调函数中有耗时操作,导致onreachBottom事件被阻塞了,也就是说,要等大概1~2秒才会去发起下一页的请求。取消掉scroll事件的监听,原本>4s的加载时间,控制在1s之内。
一些坑在微信开发者工具没有办法复现某些性能问题,是因为从逻辑层到webview的通讯,开发者工具底层是通过onpostMessage, 微信ios好像是微信自己实现的桥接。所以强烈建议使用真机进行调试
微信开发者工具,没有办法在【network】里面看到图片资源的加载,通过【trace】面板连接安卓真机也没有办法看到。如果想测试懒加载的效果,就比较麻烦,需要通过设置微信开发者工具的代理到127.0.0.1,通过charles可以抓包看到
搞微信小程序遇到的这些坑,虽然可以收获满满的填坑经验,但是这些填坑经验并不算是真正的计算机知识,因为这些知识的并不是基于对本质底层的理解,而是依靠经验,而经验是很快就会过时,可能下一次小程序api来一次大的升级,小程序优化手段马上就会换成另外一种。
猜你喜欢
- 为啥企业一定要开发小程序,有哪些好处?
- 2025年开发微信小程序的主要技术框架都有哪些?我们如何跟得上小程序开发的技术潮流
- 桔子小程序|千万级小程序开发指南
- 成都巡检小程序开发方案——提升企业巡检效率的创新利器
- 商城微信小程序所需具有的哪些功能
- 小程序开发定制构建高效移动端营销:策略与实践
- 成都小程序开发:为什么要开发小程序?
- 成都小程序开发:解锁商业新机遇的技术钥匙
- 成都微信小程序开发需要哪些技术呢?
- 成都微信小程序商城如何开发才有实质型价值?
- 开发一个微信应用号,你需要提前到官方网站
- 成都成都小程序开发定制
- 成都购物商城小程序开发有哪些好处 小程序开发的优势有哪些
- 小程序商城开发:你的下一间“分店”,开在客户的手机里
- 成都微信小程序的开发技巧