加载和释放NSImage时内存继续增加

时间:2011-02-18 23:34:59

标签: cocoa load memory-management nsimage

1 个答案:

答案 0 :(得分:2)

  • 什么巴伐利亚说;你试过用NSAutoreleasePool围绕它吗?

  • 这是一个经典的微观基准。虽然它肯定表明存在问题,但问题实际上可能是基准测试与预期的现实世界模式不同,以至于错误存在于基准测试中。

  • 在高效设计的应用程序中,它不会多次从磁盘读取相同的图像数据。

  • 这是Heapshot analysis的主要候选人。


(感谢您的跟进;乐于助人!)

您描述的症状听起来像是VM泄漏(某些东西正在消耗地址而不进行分配;例如映射内存)或未被修剪的缓存(包含VM分配)。

  • 您是否启用了GC?如果是这样,这可能很容易,因为未触发GC阈值。收集者不知道从非GC到GC区域的实际大型分配。如果强制收集,它将解决这个特殊的边缘情况。

  • 尝试查看VM仪器或在命令行中使用vm_map查看应用程序中占用地址空间的内容。