游戏优化

第一个是大块,而且和游戏功能开发逻辑无关,看样子你是上线项目。如果不是官方最新版本,那是需要自己改引擎的。还要换包;
第二个你不能改其他人的东西,而且这个改动会比较大,不建议上线项目临时就改。有规划性的修改比较好。
第三个是否有资源管理,你应该清楚,然后内存是否没有释放,找个探测工具试一试就可以了。

好的,回头试试。

我们改用微信小游戏的声音api后,运行内存少了多200mb

缺点是做起来比较麻烦

好像我们这个不是微信小游戏

刚才看到cc.loader.releaseAll()的说明,说是如果勾选自动释放资源的话切换场景时旧场景的资源会被释放,但是利用cc.loader.loadRes的资源则不受影响,默认不会被释放,现在看看在切换场景的时候调用一下cc.loader.releseAll。情况会好一些。

  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上怎么搞呢

能说下剩下的步骤吗