这次的性能优化,我们找寻了小程序运行中可能影响性能的点,再针对这些影响点我们提出可行的优化建议,落地方案,最终一个个小的优化汇合成一个大的结果,使小程序的性能得到大幅的改善。在探究的过程中我们并没有细述所有的流程,我们只是着重分析小程序打开页面至用户交互的流程,有兴趣读者可以继续深挖源码,例如在各个阶段小程序初始化了什么构造器,基础库提供了什么能力等等,这有帮助我们更好的理解小程序设计的思路。
从资源下载载入到代码接口请求次数,数据通信再到多媒体资源和手机性能的考虑,我们抽丝剥茧,深挖流程,从表象中找寻埋藏在深层的本质。因为小程序相对较低的开发门槛,使得很多开发者对小程序的使用程度仅仅停留在“能用”、“能实现功能”的阶段上,并没有去深入了解小程序。本文也是想抛砖引玉,带读者粗浅了解小程序执行流程下的步骤,如果读者通过这次阅读能有所收获并激起了阅读小程序源码,深究细节的心,那便是本文最大的成功。
相比于上面的优化策略,最重要的是找出小程序中的性能瓶颈。在自己的优化实践中,遇到了下面的问题:
下拉加载更多,特别特别卡,通过列表局部更新的技巧,发现性能改善不大。后来发现,是因为首页需要监听scroll事件,导致scroll事件被频繁的触发,回调函数中有耗时操作,导致onreachBottom事件被阻塞了,也就是说,要等大概1~2秒才会去发起下一页的请求。取消掉scroll事件的监听,原本>4s的加载时间,控制在1s之内。
一些坑在微信开发者工具没有办法复现某些性能问题,是因为从逻辑层到webview的通讯,开发者工具底层是通过onpostMessage, 微信ios好像是微信自己实现的桥接。所以强烈建议使用真机进行调试
微信开发者工具,没有办法在【network】里面看到图片资源的加载,通过【trace】面板连接安卓真机也没有办法看到。如果想测试懒加载的效果,就比较麻烦,需要通过设置微信开发者工具的代理到127.0.0.1,通过charles可以抓包看到
搞微信小程序遇到的这些坑,虽然可以收获满满的填坑经验,但是这些填坑经验并不算是真正的计算机知识,因为这些知识的并不是基于对本质底层的理解,而是依靠经验,而经验是很快就会过时,可能下一次小程序api来一次大的升级,小程序优化手段马上就会换成另外一种。
猜你喜欢
- 成都小程序开发业务(简介:成都小程序开发业务专家坐镇,实力强劲,助你打造优秀小程序)
- 成都超市小程序开发成本高不高?一般需要多少钱?
- 成都小程序商城系统是如果实现搭建的?
- 成都小程序开发公司做一个商城小程序要多少钱?如何选择才能降低成本?
- 成都小程序商城平台开发(成都小程序商城开发全攻略)
- 陪诊小程序开发哪家公司好?成都专业小程序开发公司
- 成都景区小程序开发(成都景区小程序尽享旅游乐趣)
- 桔子小程序|千万级小程序开发指南
- 成都网站建设对企业和个人在网络中的存在方式产生了影响
- 软件开发:设计SaaS应用程序时应避免的5个错误
- 成都小程序定制开发过程,打造完美应用体验
- 成都社区团购小程序开发的优势有哪些?
- 成都小程序定制制作网站:打造您的专属移动平
- 要做一个备受关注的网站,需要掌握哪些原则呢?
- 成都实用小程序搭建产品介绍:赋能企业数字化转型