今天运营反馈了一个奇怪的问题,一个用户从主包页面跳转到分包页面,转了一下loading动画(这个是我们写在js里面的,说明接口请求了,实际上后台日志也看到请求了),但是用户页面空白。目前为止上线的小程序只有这一个用户反馈到运营这个问题,我们开发人员自己手机测试了也是没有这个问题。最开始拿到这个问题我猜测是网络问题,但是用户已经发过请求,说明网络是通的,我是百思不解呀,在网上看到也有朋友遇到这个问题,他的问题是主包过大的问题, 我查看了我们程序的主包只有1241.2kb,普通分包分别是 370.9kb,78.1kb,一个36.8kb的预加载分包。所以包应该也没问题,到目前为止,我觉得是用户网络是通的,但是网速比较慢(这个感觉有点牵强),用户白屏了差不多2-4s依旧没有加载出来,感觉加载不出来的样子(bug的样子),我还是挺困惑的。有没有朋友也遇到过这个问题。
注意:我线上测试过,白屏页面中js代码应该不会出错,就算是出错,我们页面的骨架动画也没有加载,排除js报错问题。
进入的分包页面有配置预加载吗,进入分包上一级页面先预加载分包,就避免点击跳转的时候分包加载过久
我做了一个模拟测试,在开发工具中模拟了4G网络,设置了200kb/s的网速, 不太清楚是不是实际的网络速度达不到开发者工具设置的网络,我从主包跳转到400Kb左右大小的分包A中的一个页面,白屏了差不多15s左右的时间,这个过程中我想按照网络速率去换算加载这些内容应该也不要这么久的时间? 除了下载分包,编译,加载过程,微信还做了什么其他的操作吗?
应该是用户微信版本太低导致, 也就是用户的基础库版本比较低,建议使用低版本测试,或者和用户要下他的微信版本,一般就是这种问题,可以在微信公众平台设置下基础版本,低于多少进不到小程序,用户就知道要升级了