• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSImage and F_NOCACHE
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSImage and F_NOCACHE


  • Subject: Re: NSImage and F_NOCACHE
  • From: Bill Bumgarner <email@hidden>
  • Date: Wed, 4 Oct 2006 10:36:26 -0700

On Oct 4, 2006, at 8:48 AM, Alexander Cohen wrote:
Im using F_NOCACHE with fcntl just before loading the file up as an NSImage so the data does not get cached and memory stays down. Im doing this because im converting thousands of images ( eps, tif, psd, pdf, anything... ). Thing is, memory never comes down. I though it might be a memory leak or something so i brought the code down to this:


int err = 0; int fd = open( [self cString], O_RDWR ); err = fcntl(fd, F_NOCACHE, 1); NSImage* img = [[NSImage alloc] initWithContentsOfFile:self]; [img release]; img = nil;


If i comment out the NSImage line, memory stays down of course, as soon as i add it back in, memory goes way up. BTW, fcntl is always returning 0 so there are no errors. Any ideas what might be going on?

The open/fcntl sequence have absolutely no impact upon the call to - initWithContentsOfFile:. open opens a file descriptor and fcntl() applies an option to that file descriptor. -initWithContentsOfFile: takes a string and opens the file itself; it has no way of even getting a hold of the file descriptor you are creating, much less actually using it.


Also, the -cString method is deprecated. Use - fileSystemRepresentation.

The above code implies that it is on a category of NSString? That seems a bit odd, design pattern wise.

You could probably use a combination of -initByReferencingFile: and - recache to get the memory management behavior you desire, but I'm not entirely sure about that. I would suggest reading everything you can about NSImage. Worse comes to worse, you might need to drop to one of the lower level image manipulation APIs. Or try NSImageRep as it seems to be one step beyond the NSImage caching behavior.

b.bum
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >NSImage and F_NOCACHE (From: Alexander Cohen <email@hidden>)

  • Prev by Date: accessibility and iTunes?!?
  • Next by Date: Passing NSString to system()
  • Previous by thread: NSImage and F_NOCACHE
  • Next by thread: Re: NSImage and F_NOCACHE
  • Index(es):
    • Date
    • Thread