CocosCreator資源釋放總結

2021-09-21 18:22:24 字數 653 閱讀 9517

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

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

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

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

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

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

造成這個問題的原因是:

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

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

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

根據網友的問題增加的回答:

我們在切換場景時,資源釋放了,而預製體資源是通過cc.loader.loadres動態載入的,就不會釋放;

所以我們應該在切換場景時,把cc.loader.loadres載入的預製體釋放掉。

Cocos Creator預製資源匯入問題

前兩天在開發時,需要匯入乙個寫好的預製資源,因為不熟悉,給自己帶來了太多麻煩,導致工作耽誤了不少時間,然而卻是很簡單的問題。希望記錄下來,謹防再犯。在cocos creator中,匯入資源,選擇檔案 資源匯入,就可以彈出匯入各種資源的操作視窗 其中,zip檔案路徑就是我們需要匯入的資源的路徑。匯入目...

位運算詳釋

很多系統程式中常要求在位 bit 一級進行運算或處理a。語言提供了位運算的功能,這使得 語言也能像組合語言一樣用來編寫系統程式。一 位運算子 語言提供了六種位運算子 按位與 按位或 按位異或 取反 左移 右移 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有...

touchmove事件詳釋

用這個 測試1 2var div document.queryselector div 開始觸控 div.addeventlistener touchstart function e 1,記錄手指的起始位置 座標 2.記錄手指離開螢幕時的座標值 記錄手指在滑動過程中的座標值 3.計算兩個記錄的手指座...