Memory usage does not drop -- no leaks though

Posted by climbon on Stack Overflow See other posts from Stack Overflow or by climbon
Published on 2010-04-17T11:46:48Z Indexed on 2010/04/17 11:53 UTC
Read the original article Hit count: 197

Filed under:

I have UINavigationController controlling several views. One of the views is composed of 20 scrollable pages. Each page is a constructed on the fly from UIViews by adding buttons, labels, UIImageViews etc. When this UIView is popped off the stack, the memory usage remains the same. Hence it keeps rising if I keep pushing/popping that view.

In my dealloc, I am traversing through all 20 pages and finding each type of object which got added via addSubview and then do a release on it but instruments says my memory usage never goes down! I am trying to use 'retainCount' to see what is up with objects I am releasing but I am perhaps not getting true picture via retainCount. For some elements retainCount shows 2 so I try to release that object twice but then app crashes. If I release it once it works but memory usage never go down :(

Q1: Do I need to traverse find each element and then do a release on that element ? Why can't I release a parent object and all objects contained by it would get released automatically ?

Q2: Is retainCount a reliable indicator ?

© Stack Overflow or respective owner

Related posts about iphone-sdk