public void Cleanup() { lock (pool) { pool.Clear(); } #if UNITY_EDITOR MemoryLeakDetecter.Remove(detecter); #endif }
static public MemoryLeakDetecter Add(string moduleName, int usingLimit = 1000, int poolLimit = 1000, int checkPendingMS = 1000) { MemoryLeakDetecter detecter = new MemoryLeakDetecter(); detecter.USING_LIMIT = usingLimit; detecter.POOL_LIMIT = poolLimit; detecter.CHECK_PENDING_MS = checkPendingMS; detecter.MODULE_NAME = Helper.HandleTypeFullName(moduleName); detecters.Add(detecter); return(detecter); }
static public void Cleanup() { #if UNITY_EDITOR Debug.Log("CustomDataStruct Cleanup!"); #endif BetterDelegate.Cleanup(); BetterStringBuilder.Cleanup(); ValueObject.Cleanup(); ObjPoolBase.Cleanup(); #if UNITY_EDITOR MemoryLeakDetecter.Cleanup(); #endif }
static public void Remove(MemoryLeakDetecter detecter) { if (detecter == null) { return; } for (int i = 0; i < detecters.Count; i++) { if (detecters[i] == detecter) { detecters.RemoveAt(i); break; } } }
public override void Dispose() { #if UNITY_EDITOR MemoryLeakDetecter.Remove(detecter); #endif }