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