【发布时间】:2009-10-14 13:54:24
【问题描述】:
我已经构建了一个视频查看器,它是一个 Safari 插件,可以显示来自网络设备的视频。查看器读取位图图像,准备它们,并将它们设置在 NSImageView 对象上,如下所示:
NSBitmapImage *bmImg = [[NSBitmapImage alloc] initWithBitmapDataPlanes: . . .]
NSImage *img = [[NSImage alloc] init];
[img addRepresentation:bmImg];
图像通过主线程上的“setImage”添加到 NSImageView。视频显示正常。
我的问题是,通过“setImage”设置下一个图像的行为不应该导致先前图像及其关联的位图图像被释放并随后释放吗?
我需要自己对分配的图像执行 [img release] 吗?
我是否需要从 img 中删除图像代表并发布它?
提前致谢。
【问题讨论】:
-
向我们展示您的真实代码。没有 NSBitmapImage 这样的东西;我假设您的意思是 NSBitmapImageRep。此外,将其格式化为代码,而不是与问题的其余部分混合。
标签: cocoa garbage-collection webkit nsimage nsimageview