内存溢出: 在Egret中定义为 变量引用导致实例对象的引用计次不能清除
结果就是 内存随着时长递增
在这次我的实战项目中,使用了多个龙骨动画, 总数应该是3*20个
项目完成,实际测试时发现 内存占用从10M左右一直涨到150M左右,并且FPS也持续下降
使用chrome的内存测试工具
↓这是调试好之后的结果 调试之前 deleted始终为0 (表示实例对象引用并没有被回收)
龙骨动画实例的内存清除:
官方文档:
类 | public class EgretArmatureDisplay |
dispose () 方法 public dispose( disposeProxy:boolean ):void 语言版本: all 运行时版本: Web,Runtime 释放代理和骨架。 (骨架会回收到对象池) 参数 disposeProxy:boolean —
实现:
vis.addDBEventListener(egret.Event.REMOVED_FROM_STAGE, () => { vis.dispose(); this.visitors.splice(this.visitors.indexOf(vis), 1); })
最后的结果很明显:
原文:https://www.cnblogs.com/webfs/p/12703294.html