对于极端测试用例,我正在从通常为 512x512 甚至 4096 x 2048 的大图像创建小型 NSImageViews(32x32 像素)。我的问题是,在我的极端测试用例中,当我显示缩略图时,我的应用程序内存占用似乎增加了 15MB 以上,这让我认为 NSImage 以 4096x2048 而不是 32x32 的形式存储在内存中,我想知道是否有是避免这种情况的一种方法。这是我创建 NsImageView 的过程:
• 首先,我使用 initByReferencingFile 创建一个 NSImage:(指向 4096x2048 .png 文件)
• 接下来我通过调用 initWithFrame 来初始化 NSImageView:
• 然后我调用 setImage: 将我的 NSImage 分配给 NSImageView
• 最后我将 NSImageView 设置为 NSScaleProportionally
我显然没有做任何事情来强制 NSImage 缩小到 32x32,但我很难找到一个好的方法来处理这个问题。