4. A *a = new A(); a->autorelease() .
From here you must not interested
release/delete this object .
Autorelease pool will delete/release object
,but when?
5. //in init scene
m_pNode = CCNode::create();
m_pNode = new CCNode();
m_Node->autorelease();
//1 funciton orther in frame orther
m_pNode->setPosition(ccp(0, 0));
6. class A
{
CCNode *m_pNode;
public:
// pointer dangling!!
~A() { SAFE_DELETE(m_pNode); };
void setNode(CCNode *pNode)
{ m_pNode = pNode; };
}
What happen if at time call ~A(), pNode
deleted?
10. The CCSpriteFrameCache singleton is a cache
of all sprite frames. Using a spritesheet and
its associated xml file we can load multiple
sprites into the cache. From here we can
create CCSprite objects with sprites from the
cache.
11. Avoid loading PNG/JPG Textures.
Load textures from largest to smallest.
Use .pvr.czz file format.
Use particles.
12. Avoid loading PNG/JPG Textures :
In loading texture size 2M .you have to 4M
memory.
13. Load textures from largest to smallest :
If you must load 4 file (4M) and 1 file(16M)
If load 4 file(4M) before load file 16 M : max-
memory use : 4 x 4 + 16 x 2 = 48 M.
If load 4 file(4M) after loaded file 16M : max-
memory use : 16 + 4 x3 + 4 x 2 = 36 M.