少用foreach
来源:互联网 发布:微信跳转到淘宝app 编辑:程序博客网 时间:2024/04/29 11:54
- //抛开其他的不说,我只关注GC Alloc,因为这点是造成unity游戏偶尔卡帧的罪魁祸首,举一个代码例子:
- using UnityEngine;
- using System.Collections;
- public class ForeachTest : MonoBehaviour {
- protected ArrayList m_array;
- void Start ()
- {
- m_array = new ArrayList();
- for (int i = 0; i < 2; i++)
- m_array.Add(i);
- }
- void Update ()
- {
- for (int i = 0; i < 1000; i++)
- {
- foreach (int e in m_array)
- {
- //big gc alloc!!! do not use this code!
- }
- }
- for (int i = 0; i < 1000; i++)
- {
- for (int k = 0; k < m_array.Count; k++)
- {
- //no gc alloc!!
- }
- }
- }
- }
- 第一个循环大概会造成2.3K的GC Alloc(什么事都没做就耗费这么多GC。。。)。
- 第二个循环则没有任何GC Alloc。
- 所以,不要途方便,到处哪都用foreach循环。
0 0
- 少用foreach
- 遵循少耗资源,速度最快,foreach的用法
- 我读书少,一个foreach把我骗惨了!
- 少用触发器规范
- 尽量少用GetComponent
- 工资少怎么用
- 72. 少用 iframe
- 少用Data类
- 用OGNL实现forEach
- foreach用错了?
- foreach
- foreach
- foreach
- foreach
- Foreach
- forEach
- foreach
- foreach
- lod
- //实现思路:鼠标点击,产生目标点,计算角色和目标点的夹角,旋转角色朝向目标点,然后移动角色。
- 写给即将进入IT行业的应届生们——程序员必修课
- 8,10,16进制输入与输出
- (转)VisualSVN-Server 在Win8 本本上无法安装
- 少用foreach
- 如何禁止访问某个网站
- 设计模式之面向对象基础
- (十四)内存管理和指针
- 类方法继承使用小思
- 写给想当程序员的朋友
- awk中打印双引号和单引号的方式和分析
- ios图形优化
- 将资源优化到最小