內存溢出: 在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); })
最后的結果很明顯: