用layabox开发时,发现有一张图片资源总是慢1秒钟左右才能加载出来,而该页面的其他图片资源的加载没有延迟。
刚开始以为是图集太大造成的,毕竟使用的是背景图,后来把这张背景图放在不打包中,发现还是有延迟,再后来
把这个界面的所有图片资源都放在不打包中,结果仍然是这张图片有延迟,而该界面的其他图片资源没有延迟。再后来,求助大佬。
尝试不渲染该界面的listitem中的listitem(对,就是双重list渲染),发现图片资源的加载没有延迟了,猜测可能是
layabox引擎资源加载优先级的问题,由于美术资源的层级问题,在UI文件中调整为没有延迟的层级顺序之后,又在代码中
设置了zorder为美术要求的层级,结果该图片又出现了加i面中,前面的资源渲染太慢时,后面的资源加载由于需要等待前面资源加载完毕,所以会出现延迟。
最后,直接封装了addFirstReloadRes()方法,强行调整资源加载顺序。
下面是源码
final public function get firstReloadResDic():Object{
return firstReloadDic;
}
protected function addFirstReloadRes(spName:*):void{
!firstReloadDic && (firstReloadDic = {});
if(spName is String){
firstReloadDic[spName] = true;
}else{
var arr:Array = spName as Array;
for(var i:int = 0;i<arr.length;i++){
firstReloadDic[arr[i]] = true;
}
}
}