我试图找出程序中的一些内存问题,我从压力测试中转储了内存,然后导入到.NET Memory Profiler,这对我来说似乎是一个非常奇怪的对象[],它只包含 92 个 String 实例位于LOH。
据我所知,只有具有大量元素的数组才会分配给 LOH,无论元素类型是什么,因为值类型和引用类型都只占用 4 个字节的内存地址。所以如果我们说 85K 是放在 LOH 上的最小尺寸,那么一个数组需要达到 85000/4 = 21000 个元素。
Profiler 说它在 LOH 上,抱歉,我无法显示仅当鼠标在该对象上时才会出现的单词 []
检查 92 个元素的详细信息。