求教微信小游戏的资源管理

你可以怼测试,“现在还用iphonex的人比较穷,不是我们的目标玩家”。

我就经常这样说,用这么老的手机不可能充钱的。

我看文档介绍,正式版本最大的空间可以放到1G,但是我们游戏的资源有5个G,通过技术手段和策划协商,最低可以放到2G以内。。。不知道还有没有可能在微信上跑

只要不是一口气 在场景中堆满资源极限 ,可以有折腾的空间

听上去风险比较大。。。

市面上有没有资源比较大的重度游戏~ 我想去分析一下他们的资源加载

江南百景图?

哦~ 谢谢老哥,我去看看

话是这么说,但这么老的手机可能会一直看广告啊

大的背景图打开UI动态加载,关闭UI丢进回收池,长时间没有引用就回收,定时调用微信的清理内存

资源也可以先压缩一下,ios用astc

早就用上了~ 我们用的还是动态astc纹理格式

那就再道具格子回收之类的,玩家也不会一下就把所有的资源加载

大型的有啊, 你找那种端游或者重度手游改小游戏的, 类似天龙八部这种

谨慎使用它的提升到1G,仔细看看微信的文档
https://developers.weixin.qq.com/minigame/dev/guide/performance/diskspace.html

为让小游戏提供更好的品质体验(美术、特效、动画等),游戏可申请将本地用户可用空间提升至 1G 。为保护用户设备的可用空间,系统会对所有开通提升的游戏定期清理文件,以文件为维度按照最近使用时间从远到近进行清理。即开通后不保证文件永久存储,请开发者合理使用。
开通后不保证文件永久存储,也就是说里面文件可能被清理,导致cocos的cache基础条件被破坏了,cachelist表就不准确了。

1赞

可以的,一般 cache 200M 够用的,因为你加载资源(到内存/显存)后,文件本身可以被清理,如果被cache清理了,下次卸载后加载资源,重新下载对应的文件就可以了。
最极端情况来说,你把cache关闭了,那么每次进去,所有的资源你都重新下载文件。用户空间就不会占用了。然后取temp的文件时,加一个文件是否存在的判断。就可以了。

感谢提醒,我看一下

用远程下载临时资源,用完了就清除掉。这样可以吗?

比如用loadRemote 远程加载关卡的零散资源( .png, .json,不是bundle),过关就清除换再加载新关卡的零散资源,是不是不会像分包那样有容量限制了?

也是个思路,这样子的话,你前后关卡的资源完全不重叠可以的,不然下载+加载这个过程还是会明显卡顿

继续砍系统、砍动画效果这些大头资源。因为有时技术辛辛苦苦花一两周优化减少十几m大小,都抵不上美术一天给你堆上几十m资源