使用微信开发工具的 Audit 功能排查小程序闪退原因

昨天同事写了个功能,不但页面渲染慢,而且会导致微信小程序闪退(iPhone)。


闪退的原因很大概率是占用的内存或者 CPU 过高被微信强行 kill 掉。


排查过程:


首先确认渲染慢不是因为接口慢造成的。从 Network 可见, 请求 API 只用了两百毫秒,说明接口没有问题。


既然接口没有问题,那就是后续的数据处理逻辑出了问题。这是一个相对复杂的界面,我又懒得去一点一点看别人写的代码。索性找找微信开发工具上是否有自带的性能检测工具。


果然跟 Chrome 一样,都有一个 Audit 标签。


运行了一下


使用微信开发工具的 Audit 功能排查小程序闪退原因


果然实用,问题立马暴露了出来。。。


居然在 for 循环里调用 setData,一分钟调用了近 300 次。。。这不慢才怪。。。


使用微信开发工具的 Audit 功能排查小程序闪退原因


后续跟进

后来发现,这个页面在商品数量多时,异常卡顿。


原来大哥为每个商品都渲染了一堆重复的隐藏弹窗。。。


有话要说