游戏优化

  1. cc.loader.releaseAll() 是释放所有资源

    这个_cache保存了当前你加载的资源引用。
    不是很确定真的可以这样用么?
    我的理解是,如果没有存在泄露,用这个,会让你屏幕黑块(资源都被释放了),我也很想知道这个API怎么使用。
    API描述:
    https://docs.cocos.com/creator/api/zh/classes/loader.html#releaseall
    2.如果勾选自动释放资源的话切换场景时旧场景的资源会被释放,但是利用cc.loader.loadRes的资源则不受影响,默认不会被释放。是的。场景的所有依赖资源是A, 你加载的资源(包括所有依赖资源)是B, 切换场景,只会释放 A - (A,B)交集
    具体代码在
    也就意味着,如果自己加载的这些资源(包括依赖资源)如果得不到正确的管理/释放,那么他就不会被释放!
    问一下你用的什么版本

你的背景图这么大, 你的设计分辨率是多大啊.
我们用 1136640 或者 1280720. 设计分辨率小, 图片自然就小, 内存占用会明显下降. 可以从这里入手

现在版本是1.8.2。我试了一下,你说的确实是对的,游戏在大厅是240多M,到游戏内就变成430M以上,我这个内存是通过切入后台看到的,很显然大厅的内存没有释放。估计是这个方法在web上面管用,在Android平台不怎么管用吧

设计分辨率是1920*1080

花了一上午做了一下纹理压缩,虽然打出来的安装包大了一半,原来的是104m到现在的189M,但是运行内存确实是下降了,运行内存基本上在300M以下。

ETC1 PVRTC?

就做了一下android的etc1,ios没有处理。

不会有黑块了。这个只是释放cpu资源缓存,纹理都已经存入GPU缓存了,只是在切换ui的时候由于没有了缓存,速度会有点慢。

你说的可是1.8.2版本,还是1.x和2.x都这样?

那加载出来的prefab里面的图片就没有办法释放了?

纹理压缩的话图片占用内存确实会变大,这是之前的图片和大小
,这个是处理过的图片大小

你应该再做一次压缩,用GZip算法压缩一下,1.x引擎会自动解压的。

我就想知道web上怎么搞呢

能说下剩下的步骤吗

经过几次实验,发现上面方式的纹理压缩,压缩后再改回后缀名然后在压缩,对于jpg的图片在android手机上没有什么影响,但是对于png文件会有一部分的图变黑,所以只能放弃纹理压缩。只能转向动态加载的prefab里面的图片的释放问题,然而翻了诸多帖子只后还是没有发现正确的释放方式,心累。。。。

你是想用1.8.2的支持ETC1? 你上面这个图,是压缩没有alpha通道,全部主要压缩肯定有问题了呢~~~
然后1.8.2你要支持ETC1,你需要改c++才行哦。
然后资源动态加载,看到一个这个。https://forum.cocos.com/t/cocos-loader/70501
你看看是否有用

选这个是没有办法,其他选项安装包都会变大

2.0.9好像使用自带或者微信音乐播放内存使用差不多

web端不支持吗?

@BigBear

大佬这个是什么工具吗?