private static void RegisterMeta(StorageItemMeta meta) { lock (LockPad) { if (_expirationTimerSetted == 0) { SetExpirationTimer(); } if (!AllMetas.Add(meta)) { return; } _registeredCount++; _currentCount++; } }
private static void DeregisterMeta(StorageItemMeta meta) { lock (LockPad) { if (!AllMetas.Remove(meta)) { return; } _currentCount--; } if (_registeredCount > 0 && (double)_currentCount / _registeredCount < 0.6) { lock (LockPad) AllMetas.TrimExcess(); _registeredCount = _currentCount; } }
private static void DeregisterMeta(StorageItemMeta meta) { lock (LockPad) { if (!AllMetas.Remove(meta)) { return; } _currentCount--; } if (_registeredCount > 0 && (double)_currentCount / _registeredCount < 0.6) { lock (LockPad) AllMetas.TrimExcess(); GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; GC.Collect(); _registeredCount = _currentCount; } }
public StorageItem(StorageItemMeta meta, SerializedObject data = null) { Meta = meta; Data = data; }