引擎版本2.4.8,cc.Label内存无法释放 <有偿解决>

好的,我可能得晚点看下

好的好的,感谢 :blush:

不能沉 :upside_down_face:

还没下班 :mask:

等待解决结果,目前也在优化ios内存

:fist_left: :fist_left:

测试过纹理,动画,预制体都能完全释放掉,就label这个不能完全释放,有残留

项目里一个大界面,节点数量400+,label数量在110左右,界面释放完了还有接近18M左右释放不掉,如果label用char缓存,字色+字号+字体+描边 保持一致,内存不会有很大变化

游戏是从2d-lua转过来的,改界面就大动干戈了,600+的界面

引擎针对 label 有做对象池缓存,临时解决方案可以在这里回收的时候把位图大小清掉

式例代码

QQ截图20220902111207

运行内存如下

看样子不会发挥实际效果了

一半的内存释放不掉 :upside_down_face:

企业微信截图_1662089443407

长度超过32 之后, 是自己回收了 “canvas” ??

还没测试到32以上,这部分问题估计更大

界面里有大量文本的,要注意下!

如果没有超过32 也就是 那个判断直接return了。 加在下面的 设置释放逻辑 就没啥用了。 如果想要释放的话。 就是 pool 回收的时候 就要 设置为 0

或者减少 pool 的数量

设置0也无用,上面测试就3个文本,还不会return

length >= 32 return :joy:

我试试把 canvas 释放掉试试

使用这个方式释放canvas 是可以 的,超过32 也会释放纹理资源