On Apr 8, 2014, at 12:13 PM, Michael Domino <michael.dom...@identityfinder.com> wrote:
> The difference is the graphics files used by the gui. There are no .png files > opened on 10.6 while the app is at idle, but on Mavericks we have all of > these taking up file descriptors (partial lsof output below). IIRC, the AppKit release notes for 10.9 (or 10.8?) talk about behavior changes in +[NSImage imageNamed:]. Putting that together with what you’re saying, it may be that it now memory-maps the image data instead of copying it into heap space. That would be more memory efficient but has the side effect of consuming a file descriptor. > I don't directly open any of these files, and the only visible icons at the > time are the 15 main toolbar buttons. > So is there a way to change this behavior and close these files? I suspect you didn’t directly open the files, but called +[NSImage imageNamed:] and retained the NSImage object, which is now hanging onto a file descriptor. If this is true, you may be able to get around it by either keeping fewer of these resource-based NSImages around, at least not ones that aren’t currently being displayed, or by loading them using a different API. For example you could load the data into an NSData and then create an NSImage from that. Disclaimer: This is total speculation and quite possibly wrong. But it should at least give you some ideas for experiments or workarounds. —Jens _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com