昨天同事写了个功能,不但页面渲染慢,而且会导致微信小程序闪退(iPhone)。
闪退的原因很大概率是占用的内存或者 CPU 过高被微信强行 kill 掉。
排查过程:
首先确认渲染慢不是因为接口慢造成的。从 Network 可见, 请求 API 只用了两百毫秒,说明接口没有问题。
既然接口没有问题,那就是后续的数据处理逻辑出了问题。这是一个相对复杂的界面,我又懒得去一点一点看别人写的代码。索性找找微信开发工具上是否有自带的性能检测工具。
果然跟 Chrome 一样,都有一个 Audit 标签。
运行了一下
果然实用,问题立马暴露了出来。。。
居然在 for 循环里调用 setData,一分钟调用了近 300 次。。。这不慢才怪。。。
后续跟进
后来发现,这个页面在商品数量多时,异常卡顿。
原来大哥为每个商品都渲染了一堆重复的隐藏弹窗。。。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式
谈笑风生
夏 (来自: 中国 河北 承德 联通) 5年前
哥 (来自: 中国 山东 泰安 电信) 5年前