2013-5-3 工作笔记
来源:互联网 发布:mysql5.7 修改端口号 编辑:程序博客网 时间:2024/06/05 10:33
1,任何队列 都要设上限。 不然就可能在使用上不断push而造成内存不停增加。
2,修改源代码时,要考虑到是否 改动了原有的设计,如果改动了,就要小心了,就要像重新设计一样考虑全面,而不仅仅是修bug或者说增改需求。
上面两点是由于:
在最近 代码改动中,突然内存暴涨了,后来查到原因是 在修改一个不断播放的动画 改为定时播放动画时出的问题。
原有设计是这样的
来了一个信号,告知要播放动画了,于是new一个出来,播放,播放完毕后删掉。
当时修改时,来一个信号,就直接 new完后,push到一个队列(没设上限),启动一个定时器,定时器timeout后 从队列拿出首元素,播放,播放完毕后删掉
这样导致的后果是,在定时器timeout的这段时间t里,如果信号来了N个,timeout时delete掉M个,
只要始终N > M 就会造成泄漏了,而且相当之快,测试了出问题的代码12分钟泄漏了70M 。 = = !,但是不改之前,完全是没有泄漏的。
思考后,改成了,来了 信号,存起有用的元素在队列里,队列设上限为K个,定时器timeout时,要播M个就new M个,播完释放掉。
这样就没有问题了。
- 2013-5-3 工作笔记
- 工作笔记5
- 工作笔记3
- 工作笔记-2014.4.3
- isos系统工作笔记5
- isos系统工作笔记3
- 工作笔记2012-3-8
- 工作笔记 12-3-29
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 工作笔记
- 网络配置笔记
- Linux添加/删除用户和用户组
- “黑马程序员”学习笔记九
- 第30天的交易(2013-5-1)(-100)(-66.94)
- 淘宝模板开发系列之DOM、CSS规范
- 2013-5-3 工作笔记
- HDU 1166敌兵布阵(线段树)
- 开源项目SEMAINE介绍
- hdu 2491 贪心
- “黑马程序员”学习笔记十
- 向量空间模型VSM
- Reflector收费了,那就用ILSpy
- matlab中() [] {} 数组 向量 矩阵
- Oracle10g 数据泵导出命令 expdp 使用总结