Hey guys,
I've added a good amount of code to my project and decided it would be a good idea to put the new debugging/performance knowledge from WWDC2010 sessions to good use and run instruments to make sure everything is aye-oh-kay.
The Leaks template says it discovers between 8-13 (various each run) 32-Byte Malloc leaks from llvm::SmallVectorImpl<unsigned int>::grow(unsigned long). Is it normal for apple's stuff to leak? Or is this something else.. or can it safely be ignored?
Also, the Allocations tool has a new "Mark Heap" button which allows you to take a snapshot of the heap and compare what elements are left behind. Like in the WWDC2010 performance tuning session I did a repetitive task multiple times (went into a menu and came back). Marked the heap every time, just like I was supposed to. I discovered a small growth in the heap, which shouldn't happen really is it returns to the same exact state. Everything from the submenus gets released.
Most of the heap growth between each snapshot consisted of mostly CFBasicHash, UITouchData and CCTargetedTouchHandler, as well as a few non-objects from Box2D, Quartz and CCTargetedTouchHandler's init method). Is this normal? I create a new scene when a menu button is pressed, but when it goes back to the previous it is released.
Also, I use a singleton class to store some data about scenes. Should I convert them into CCDirector-like singletons that can be released, or does it not matter?
-robodude666