1. 程式人生 > >CocosCreator資源釋放總結

CocosCreator資源釋放總結

在用CocosCreator做專案的時候,如果專案過大,資源很多,然後,現在我們假設我們這樣設計架構:

1、開啟一個介面(預製體)的時候,有關這個預製體的圖片資源也用cc.loader載入進來;

2、關閉這個介面的時候,把有關的圖片用cc.loader.release釋放,如果是公共資源就不釋放;

3、換場景的時候我們選擇自動釋放資源

上面是一個專案資源過多的專案的架構設計的其中一種方法。

但是上面的方法在CocosCreator中有一點漏洞:這個漏洞就是如果有用cc.loader.loadRes載入了一個預製體,然後切換了場景,再回到這個場景,然後再次loadRes該預製體的時候,你會發現,這個預製體的圖片都顯示成黑塊了。

造成這個問題的原因是:

用cc.loader.loadRes載入了預製體之後,預製體會一直存在記憶體中,切換場景之後,所以圖片資源釋放;

再切回原場景,再用cc.loader.loadRes載入預製體,此時,用的是記憶體中存放著的預製體;

但是此時,預製體引用的圖片資源已經釋放,所以是黑塊。