Re: NSUserDefaults allocation size and CALayer memory usage
Re: NSUserDefaults allocation size and CALayer memory usage
- Subject: Re: NSUserDefaults allocation size and CALayer memory usage
- From: Quincey Morris <email@hidden>
- Date: Mon, 29 Jun 2015 08:29:45 +0000
On Jun 28, 2015, at 23:35 , Henrik Granaas-Helmers <email@hidden> wrote:
>
> 1. NSUserDefaults seems to allocate 16 MB memory at load. I can't see myself using a megabyte—let alone 16 of those. It would be very interesting to know why it allocates so much, and if there is a way to encourage NSUserDefaults to grab less.
>
> 2. I create a couple of CoreAnimation layers that I think are large (5120x2880 px). I would expect that to occupy 450 MB (5120*2880*32/1024/1024) of memory. But instead it only takes up one fourth of that. What is this sorcery?
Where are these numbers coming from? Instruments?
It’s very hard to reason about memory at the app level, because memory usage is not simple. Memory can be mapped or shared or reclaimable in time of need, or address space can be consumed without any actual memory. You don’t know in general whether such numbers represent an actual increase in the use of memory resources, or whether they’re an accounting fiction.
In regard to the CA layers, keep in mind that OS X can compress memory contents on the fly (since, er, Yosemite or Mavericks, I think). Maybe that’s the explanation in this case.
The resource usage that we’ve been advised by Apple to watch are the debug “gauges” that appear when you’re debugging in Xcode. Does the memory usage gauge give you any reason to think your app is using too much memory?
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden