最近發現自己的微信小游戲在啟動完畢后仍然會有一秒以上的黑屏才真正進入游戲場景
仔細排查了一下大概是兩個方面的原因
1.遠程資源加載
2.微信廣告加載
由於游戲資源較多,遠超微信所限制的4M/8M
因此打包時將整個res目錄全部搬到了資源服務器
因此玩家加載完微信包體后,仍需要下載部分圖片資源才能繪制游戲場景
此時就會出現短暫黑屏,解決方案是保留res目錄以及部分首場景的文件
將其留在微信包內,以下我們稱這個res目錄“微包”
生成微包比較麻煩,目前我的做法是先把游戲內除首場景以外的部分全部刪掉
然后打出微包(保證微包體積足夠小)
再恢復工程重新打出正式包
並把正式包的res目錄存放至資源服務器
再將前面所做的微包放在包內(不超過4M)
然而這樣一來有時還會出現黑屏
究其原因是仍有首場景需要的文件未包含在微包內
進行了下載請求
我只能一個個把他們揪出來塞回微包內
揪的方法如下
在
wx-downloader
downloadRemoteFile
中打斷點,找出請求的文件,放回微包
自己試了一下只有一個奇怪的文件會這樣
至於微信廣告的初始化和加載
只需要在首場景加載完成后延后一幀執行即可