Cocos2d、js内存优化和管理

优化:

  1. 一帧一帧载入游戏资源
  2. 载入纹理时按照从大到小的顺序
  3. 使用预加载 加载游戏资源
  4. 使用纹理打包器优化纹理大小、格式、颜色深度等
  5. 尽量不要使用JPG格式图片
  6. 请使用RGB4444颜色深度16位纹理
  7. 避免载入超大纹理

管理:
引用计数器 和 自动释放池
retain() ‘引用计数器’ 值加1
release() “引用计数器” 值减1
autorelease() “引用计数器” 值下一帧减1 如果值为0 delete this
node 被加到父节点上 会自动调用retain() 移除时引用 release()

值得注意的是清理的顺序,应该先清理动画缓存,然后清理精灵帧,最后是纹理。按照引用层级由高到低,以保证保释引用有效。
void removeAnimationByName(const char *name); //移除一个指定的动画

实际上,如果考虑到两个场景间使用的动画基本不会重复,可以直接清理整个动画缓存。

void removeUnusedSpriteFrames(); //清理无用缓存

void removeUnusedTextures(); //清除不使用的纹理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值