title: Reduce the memory usage of an iPhone application
body: <p>We are in process of making a game for an iPhone. We are done with the development and trying to optimize the game now for memory.  We are noticing that when we load a particular MVC in the game an close it, not all of the allocated memory is freed up.(~ 4-5MB is added). This drives the memory usage of the game really high if you keep playing it for 15-20 mins and the game finally crashes after giving a low memory warning.</p>
  
  <p><strong>This is what I have tied</strong><br>
  1. Run the static analyzer on the game and fixed all memory leaks and warnings.<br>
  2. Manually checked if the dealloc of all classes is getting called. This seems to be fine.<br>
  3. Also tried running the Allocations tool in Xcode, but most of the entries in it are CFStrings, mallocs and CFNumbers etc but doesnt really tell which of my classes they originate from. Is there a better way to use the allocations tool?</p>
  
  <p><strong>I also have a couple of memory related questions</strong><br>
  1. We are using autorelease objects in many places in the game without using an autorelease pool. My understanding is autoreleased objects should free up in the next run loop and should not pose such a huge problem?<br>
  2. Also if I load images through xib files are they cached by iOS. Will they be hogging the memory too?<br></p>
  
  <p>How do I go about solving my memory usage issues. Any help would be appreciated.
  Thanks!</p>