Cocos Creator 通用框架设计 —— 资源管理

mark

getInstance是C++的习惯,这个习惯在TS里面可能不大好,从使用的角度,应该还是命名空间.loader,就像cc.loader这样使用比较舒服。

mark

mark

mark

mark

mark

mark

mark1

mark1

mark

mark

mark

mark

1mark

我觉得cc.loader来管理足够了 你这样做资源还不是在内存里? 又没有释放所有依赖的资源 所以只有十分确定不再在使用的资源 才会释放 一个游戏里有多少是用了一次就要从内存释放的呢

/**
 * 通过 id(通常是资源 url)来释放一个资源或者一个资源数组。
 * 从 v1.3 开始,这个方法不仅会从 loader 中删除资源的缓存引用,还会清理它的资源内容。
 * 比如说,当你释放一个 texture 资源,这个 texture 和它的 gl 贴图数据都会被释放。
 * ...便于在设备内存告急的情况下更快地释放不再需要的资源的内存。
 */
cc.loader.release

内存占不了多少释不释放都没事,内存大到一定程度还是释放的好

mark

游戏内容达到一定级别 不释放可能再申请不到内存!





好像如果同时有两个预制体引用同一张图片,在通过ResLoader去分别释放两个预制体,这张图片的引用还会存在,并不会被移除