如上图,我们的小程序从第一个页面跳转到(tap监听回调执行wx.navigateTo方法进行跳转)第二个页面,在测试中发现,如果多次点击,会导致跳转时间越来越长,在跳转的过程中会出现纯白页面不显示任何东西。
在程序里面log一下执行时间,如下图所示:
这是刚载入的时候执行的速度:点击跳转是在第一个页面执行点击,并记录时间。在第二个页面的onload事件和onshow事件分别取得时间与第一个页面点击时刻的时间间隔,分别只有200多与300多毫秒
下图是来回切换约30次从第一个页面与第二个页面后的结果log结果,加载时间越来越长,甚至都快到了两秒,这也导致我们的小程序在跳转的时候会有白屏现象。
请问如上问题一般是由于什么引起的?
补充问题描述:
根据反馈,重新进行log如下:
在点击监听事件开始记录时间,完成逻辑处理后调用wx.navigateTo之前log到此时执行时间。
在第二个页面的onload开始和结束log从点击开始时到这两个阶段执行时间。
在第二个页面的onshow开始和结束log从点击开始时到这两个阶段执行时间。
最后执行的效果如下:
第一次点击跳转时时间,都非常短:
跳转返回反复执行20次左右的时间记录:
期间onshow执行时间突然变成,且之后未见变短
继续反复跳转
观察结果,白屏是由于onload事件未执行导致,也就是在onload执行之前,跳转到新页面完全白屏。
继续补充进一步测试结果。
onload事件执行的开始时间仍然递增无法定位原因
onshow的开始时间到结束时间在一定数量访问次数后暴增的原因已经查明,在于我们调用了wx.getStorageSync()方法,该方法正常情况下执行时间约为200ms,但是在访问30次作用之后访问时间暴增至3000ms,(storage中没有任何数据更新,理论上每次的访问时间应该是一样的)
下面是代码片段
以下是getStorageSync执行时间
请问,是在开发工具中也有这个问题么?
开发工具暂时没有问题,真机上苹果手机好像比安卓严重
我也是一样,开发工具上一点都没有问题,真机特别是iOS真的卡,而且时有时无
是不是日志打太多了? 试下去掉调试的情况,会不会越来越慢。
你的小程序叫什么?
这个问题怎么解决的?性能差一点的真机上白屏要3-6秒
你这个问题现在解决了吗?我也遇到了和你一样的问题,我是在查看图片日记详情 页面时白屏,我从列表页进入详情页,查看日记后返回,在多次跳转后,跳转速度变慢,最后出现白屏
同问
没有人知道是怎么回事吗?
是的,在真机和开发者工具都有这个问题,真机更明显,也就是白屏时间长的很快,问题描述里面的截图都是在开发者工具里面log结果。
现象: 在之前没有加入富文本解析的时候,也存在渲染越来越慢的情况,但是可能需要点击好几个日程之后才会逐渐体会到。加了富文本解析后,点击几个就会体会到变慢,并且是越来越慢。
我们监测了一下富文本解析的时间,比较稳定,即使毫秒左右。
怀疑是页面元素比较多,导致渲染页面时触发了一些问题。
log都去掉了,还是一样的情况。。。。