Egret--龙骨动画导致的内存溢出

内存溢出: 在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);
})

最后的结果很明显:

猜你喜欢

转载自www.cnblogs.com/webfs/p/12703294.html