Egret社区
本帖最后由 风吹又吹 于 2020-11-18 11:02 编辑

首先把资源预加载好,  RES.setMaxLoadingThread默认值为4,然后再用加载几十个资源,同时在后面加上RES.getResByUrl(预加载的资源)。结果获得预加载的资源资源回调要等前面的资源全部加载完成后才执行到。然后去查看了下源码,发现RES.getResByUrl不会首先判断是否有缓存,而是先加到加载队列里等待执行,然后在在loadResource里才去判断执行。这就会出现一种问题,缓存资源不能立即获取到,要等待前面的资源加载完成才能获得   ,版本5.3.10

测试代码

测试代码
分享到 :
0 人收藏

4 个回复

倒序浏览
app小王子  社区管理员 | 2020-11-23 14:13:53
产品设计就是不进行缓存的,不是bug。因为不同的地址可能是同一份图片,如果所有getResByUrl都进行缓存的话,没办法判断,就要缓存两份,造成内存的额外占用。所以最后决定getResByUrl交由开发者自己维护缓存,RES的缓存机制只针对default.res.json中的资源。
app小王子  社区管理员 | 2020-11-17 17:28:13
您好 请问是否可以提供个demo呢?我们这边查看下问题  谢谢!
风吹又吹  登堂入室 | 2020-11-18 11:03:10
app小王子 发表于 2020-11-17 17:28
您好 请问是否可以提供个demo呢?我们这边查看下问题  谢谢!

压缩包上传不了,就直接截图了图,我就是在新创建项目添加的这代码测试的
app小王子  社区管理员 | 2020-11-18 17:26:15
风吹又吹 发表于 2020-11-18 11:03
压缩包上传不了,就直接截图了图,我就是在新创建项目添加的这代码测试的 ...

麻烦添加我的微信 egretengine 把demo发给我把
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

风吹又吹

登堂入室

积分: 21 帖子: 34 精华: 0

楼主热帖

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部