unity移動端記憶體優化 NGUI

2021-06-22 03:39:54 字數 568 閱讀 5279

做3d移動端

記憶體一直是人們頭疼的問題,載入的資源釋放了,還有其他的需要釋放,比如

ngui

釋放,其實主要是

ngui

的texture和sprite釋放,如果你指令碼程式沒用到

ngui

組建的引用的話,切換場景後第一時間呼叫

resources.unloadunusedassets ();

就會釋放掉。

但是如果你指令碼程式用到ngui的組建的時候,比如直接拖到指令碼上的物體,或者find的物體,等,只要引用ngui的組建,它就會加到記憶體中,切換場景也不會釋放,resources.unloadunusedassets ();也不會釋放,你要結束的時候刪除這些引用,就會釋放掉了

我引用ios的思想去釋放的,寫了個dealloc方法

在你的指令碼之間互動類中寫

void dealloc()

resources.unloadunusedassets ();

system.gc.collect ();

}就可以釋放掉,對移動端大有好處,我從之前的130mb記憶體,優化到現在的50mb左右,很是穩定

unity移動端記憶體優化 NGUI

做3d移動端 記憶體一直是人們頭疼的問題,載入的資源釋放了,還有其他的需要釋放,比如 ngui 釋放,其實主要是 ngui 的texture和sprite釋放,如果你指令碼程式沒用到 ngui 組建的引用的話,切換場景後第一時間呼叫 resources.unloadunusedassets 就會釋放...

Unity移動端優化總結

模型面數和頂點數的控制 unity這邊沒辦法控制.就需要和做三維的同事交流好 指令碼新建的指令碼缺省會建立出update函式.在不需要用到的情況下可以刪掉 盡量不要在update函式中做複雜運算,盡量不要在update函式中使用find,getcomponent這類的呼叫 只在乙個指令碼中使用ong...

Unity3D移動端記憶體優化(NGUI方面)

做3d移動端記憶體一直是人們頭疼的問題,載入的資源釋放了,還有其它的須要釋放。比方ngui釋放,事實上主要是ngui的texture和sprite釋放,假設你指令碼程式沒用到ngui組建的引用的話,切換場景後第一時間呼叫 resources.unloadunusedassets 就會釋放掉。可是假設...