title: Optimizing Performance on iPhone
body: <p>I released the first beta version of my iPhone app on TestFlightApp today. Everything is going really well until I notice that the responsiveness of the application is pretty cruddy. Certainly doesn't have a "nice" native feel that I'm going for.</p>
  
  <p>I've been particularly fastidious concerning my memory allocation/deallocation, so I don't think this is the issue. Basically, I don't know where to turn to next in order to improve the performance of my app.</p>
  
  <p>Here's where I think some of my slowdown can be attributed to:</p>
  
  <ol>
  <li><p>Using UIAppearance to customize the looks of most (if not all) UI elements. I use a brand new font, lots of CAGradientLayers, and lots of edits to CALayer in order to draw nice Shadows.</p></li>
  <li><p>Grouped UITableViewCells that display pictures of a map and itemized lists.</p></li>
  <li><p>UITableViewCells whose layouts are updated every time I call layoutSubviews. </p></li>
  <li><p>UITableViewCells with customized heights. For each call of heightForRowAtIndexPath, I need to reconstruct and re-layout the view, returning the exact height each time.</p></li>
  <li><p>Because I programmatically created views, controllers with longer viewDidLoad calls tend to load slower. What code can I offset in the init call?</p></li>
  </ol>
  
  <p>Does anyone have any hints or tips for dealing with these problems? Or perhaps people have stories about how they dealt with a slowdown in performance when they released their first app?</p>