public void Alloc(MemAppData app) { app.BlockPercentageUseage = (app.MemorySize * 100) / _totalmemory; app.TotalPercentageUseage = (app.MemorySize * 100) / MemoryManager.Totalmemory; Apps.Add(app); AvaliableMemory -= app.MemorySize; }
public bool Allocate(Application app) { MemAppData memdata = GetMemAppData(app); switch (AllocationMode) { case MemAllowcationMode.First: #region Alloc First for (int i = 0; i < Blocks.Count; i++) { if (Blocks[i].AvaliableMemory >= memdata.MemorySize) { app.MemBlockIndex = i; Blocks[i].Alloc(memdata); OnBlockChanged?.Invoke(i, Blocks[i]); return(true); } } #endregion break; case MemAllowcationMode.Best: break; case MemAllowcationMode.Next: break; case MemAllowcationMode.Worst: break; default: break; } return(false); }