优化:
- 一帧一帧载入游戏资源
- 载入纹理时按照从大到小的顺序
- 使用预加载 加载游戏资源
- 使用纹理打包器优化纹理大小、格式、颜色深度等
- 尽量不要使用JPG格式图片
- 请使用RGB4444颜色深度16位纹理
- 避免载入超大纹理
管理:
引用计数器 和 自动释放池
retain() ‘引用计数器’ 值加1
release() “引用计数器” 值减1
autorelease() “引用计数器” 值下一帧减1 如果值为0 delete this
node 被加到父节点上 会自动调用retain() 移除时引用 release()
值得注意的是清理的顺序,应该先清理动画缓存,然后清理精灵帧,最后是纹理。按照引用层级由高到低,以保证保释引用有效。
void removeAnimationByName(const char *name); //移除一个指定的动画
实际上,如果考虑到两个场景间使用的动画基本不会重复,可以直接清理整个动画缓存。
void removeUnusedSpriteFrames(); //清理无用缓存
void removeUnusedTextures(); //清除不使用的纹理