Unity記憶體理解

2021-09-10 19:48:46 字數 449 閱讀 1964

今天講一下unity得記憶體理解,幫助大家更深一步理解它,簡單明瞭,很好理解,也很好記住。

1:unity記憶體管理,基本上是自動管理,分為兩個:堆記憶體,棧記憶體。

2:棧記憶體:主要儲存小而短得資料。主要是一些值型別得資料,分配和**很簡單,快捷。

3:堆記憶體:主要儲存大而時間長的資料,主要是引用型別資料。

4:堆記憶體分配步驟:

a:檢查堆中分配單元是否足夠,如果充足則直接分配,如果不夠則執行b步驟。

b:檢測到堆記憶體不足則出發gc釋放記憶體(耗時),再次檢查堆中分配單元是否足夠,如果充足則直接分配,如果不夠則執行c步驟。

c:擴大堆記憶體大小(非常耗時),再來分配記憶體。

5:堆記憶體**方式有三種:

a:系統定期自動**。

b:分配記憶體不足時處罰記憶體**。

c:我們自己手動觸發**(執行:system.gc.collect())。

Unity記憶體優化

一 大概標準 1.紋理 40m 2.mono 30m 3.animation 20m 4.mesh 10m 6.font 10m 7.audio 5m 8.gfxdriver 25m 9.resourcemanager 視情況而定 跟 你resourcemanager裡放了多少檔案 該標準是我做 m...

Unity池記憶體,碎片

1.fifo 佇列 全稱 first in first out 2.filo 棧 全稱 first in last out 棧的順序是儲存。舉個例子 在乙個桶裡持續往裡放東西,最底下的永遠在最底下,是有序的,陣列持續往後加。棧是有序的所以說它是不會出現碎片的。從而引出來乙個問題,什麼是記憶體碎片呢?...

unity記憶體優化準則

常見判斷準則 記憶體閾值關注 managedheap.usedsize建議不超過20m 記憶體閾值關注 總體mone建議不超過40m 記憶體閾值關注 reserved memory建議不超過150m 記憶體閾值關注 2d紋理建議不超過50m 記憶體閾值關注 mesh大小建議不超過20m 記憶體閾值關...