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 ...