您的位置:首页 > 编程语言

编程技巧学习笔记之对象池

2013-06-03 19:37 274 查看
在练习项目坦克大战中,运行发现比较卡,原来是处理子弹的时候动态new的。这样频繁地开辟、释放内存会降低运行效率。

听一位师兄说可以这样优化处理:

子弹分为三个状态:

出生时born,飞行时moved,销毁时destory,

born destory 状态 子弹保存在queue

moved 状态 子弹保存在list

预先new 出若干的子弹,保存到队列queue,

开火时从queue取出子弹,取出的子弹放到list,

销毁时再把子弹保存到queue,从list取出该子弹。

子弹在list 与queue之间来回存取,暂时不用delete
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: