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);
})

最后的结果很明显:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM