准确地讲,这里应该写成重设skin,因为资源其实已经加载了,但是由于每帧允许最大重设skin数量的限制,导致的图片没有瞬间全部显示出来。
用layabox开发时,发现有一张图片资源总是慢1秒钟左右才能加载出来,而该页面的其他图片资源的加载没有延迟。
刚开始以为是图集太大造成的,毕竟使用的是背景图,后来把这张背景图放在不打包中,发现还是有延迟,再后来
把这个界面的所有图片资源都放在不打包中,结果仍然是这张图片有延迟,而该界面的其他图片资源没有延迟。
尝试不渲染该界面的listitem中的listitem,发现图片资源的加载没有延迟了,猜测可能是layabox引擎资源加载优先级的问题,由于美术资源的层级问题,在UI文件中调整该图片资源层级后,问题解决,该资源没有延迟了,但效果图要求的层级无法满足,于是选择在UI中调整层级之后,再在代码中调整zorder,结果该图片又出现了出现较慢的表现,前面的资源渲染太慢时,后面的资源加载由于需要等待前面资源加载完毕,所以会出现延迟。
最后,直接封装了addFirstReloadRes()方法,强行调整资源加载顺序。
下面是源码
//获取需要优先重设的skin
final public function get firstReloadResDic():Object{
return firstReloadDic;
}
//设置是否有需要优先重设的skin,一定要给资源加name属性,因为后面重设时用name判断的
protected function addFirstReloadRes(spName:*):void{
!firstReloadDic &