什么是内存碎片:
内存碎片是指由于频繁分配和释放内存,导致内存中出现许多不连续的小块空闲内存,从而无法有
效利用。
内存碎片化是一个性能问题,它出现在动态内存分配调用(如C#中的new操作符)过程中。紧凑的
内存块在被频繁分配和释放后,可能导致剩余的空闲内存块被分散在一整块内存中,这就是碎片
化。这种情况下,你可能有足够的总空闲内存来满足一个新的内存请求,但没有一个单独的空闲块
能够满足这个请求,最终导致内存分配失败。
避免内存碎片的方法
1.对象池
2.减少堆内存分配
3.能用值类型就用值类型
4.使用大对象堆(LOH)
5.使用ArrayPool
等等