GC.markDependencies
2021-02-25 10:37 作者:unity_某某師_高錦錦 | 我要投稿
當(dāng)前項目出現(xiàn)GC.markDependencies導(dǎo)致的卡頓。

解決方案:刪除Resources.UnloadUnusedAssets。一些低端手機可能會導(dǎo)致GCC收集多次,CPU次數(shù)的成本。您可以使用Resources.UnloadAssets(“”); 手動。這個API不能導(dǎo)致GC。
后期可以通過定時垃圾回收。
其他建議:
1.嘗試在應(yīng)用程序開始時分配(LoadResource和實例化)盡可能多的資源。如果所需的內(nèi)存不是太多,您可以簡單地實例化所需的所有資源,并根據(jù)需要禁用/啟用它們。如果資源內(nèi)存需求很大,這是無法實現(xiàn)的。
2.避免在游戲中調(diào)用實例化和銷毀。創(chuàng)建一個對象池,當(dāng)應(yīng)用程序啟動時在其中實例化一組資源。啟用您需要的資源,禁用其他所有資源。將對象釋放到池中,而不是銷毀對象,這樣就可以根據(jù)需要禁用和重新啟用對象。
3.避免在游戲中調(diào)用Resources.UnloadUnusedAssets。這只會增加實例化新資源所需的時間,如果您之前已經(jīng)釋放了它。優(yōu)化內(nèi)存使用是很有用的,但是在固定的間隔或每次銷毀對象時都調(diào)用它是沒有意義的。
標簽: