我编写了一个简单的图片浏览器,它只是随机滑过~/Pictures
中的图片。
对于每次新转换,我都会创建并加载NSImage
,然后创建一个新的NSImageView
并将其设置为新的子视图,并删除旧的子视图。
这基本上都是。随着每一张新照片的记忆不断提升,我想知道为什么。我原以为它会保持非常低并且总是保持不变。
我试图调试它并且探查器工具找不到任何泄漏的内存,所以我猜它仍然被引用或更复杂。但是,大多数内存取自函数ImageIO_malloc
。
可以看到完整的(相关的)代码here(已经大大简化了 - 删除了大部分功能,但泄漏仍然存在)。
ARC已停用。
有趣的一点:当我禁用ObjC GC时,它是预期的。它保持(相对)低。
答案 0 :(得分:0)
您是否尝试将newImageView设置为自动释放?