gc優化方案

2021-09-13 21:26:36 字數 454 閱讀 2314

gc 優化方案

1 記憶體(堆)資源無法滿足分配空間,gc進行無用記憶體(堆)空間釋放

2 update,fixedupdate (new string)

物件池 

stringbuilder 代替 string

list指定大小

3 引擎自身導致問題

update,fixedupate(tag, getcompnent)

詞典判定方式,

getcomponent 提前獲取

4 裝箱(棧資料轉堆資料)

tostring()

linq

5 foreach 

用 for來進行代替

6 場景切換手動呼叫 gc.collect, 進行記憶體占用釋放

GC日誌列印優化

通常我們會設定jvm引數 xloggc 來指定gc日誌檔案路徑,但是這個日誌檔案會不斷累加,直至程序重啟被重新覆蓋。因此,對於線上長期執行的應用,輸出gc日誌效能可能會下降,進而造成jvm停頓,請求rt變大。開啟gc日誌滾動記錄功能 xx usegclogfilerotation 設定滾動日誌檔案大...

Prefab內Text的GC優化

預製中text為空時設定為乙個空格 預設初始化乙個很大的字串,浪費gc 想要弄清楚這個問題先要看text內部初始化記憶體的機制。有內容的時候會用預設長度去分配記憶體,比如乙個空字元長度就是1,否則就用預設的記憶體分配方式。當我們新增的元素數量小於等於capacity的值時,list是不會重新調整內部...

GC演算法 筆記 GC標記 壓縮演算法

將 gc標記 清除演算法與gc複製演算法相結合。一 lisp2演算法 標記階段結束後進入壓縮階段,壓縮階段縮小被標記節點之間的距離。compaction phase set forwarding ptr adjust ptr move obj 優點 可有效利用堆 缺點 壓縮花費計算成本 二 two ...