Unity游戏脚本优化注意事项【1】

在Unity中。写脚本中,个人感觉最坑爹的东西就是字符串相加。如下

stirng str = "string" + "string2" + 11;

应用

StringBuilder sb = new StringBuilder();
sb.Append("string");
sb.Append("string2");
sb.Append(11.ToString());

string str = sb.ToString();

数值类型在进行字符串操作时,先ToString()在使用。避免装箱操作

 而更坑爹是使用是。。。。

在Update中这样

foreach(xx in yy)
{
   stirng str = "string" + "string2" + 11;
}

foreach每循环一次。就会产生24字节的垃圾内存。假如循环100次。而update一般每秒执行20多次。意味着,一秒钟。循环了2000次。单高级for就产生了2000*24 = 48000字节垃圾。而字符串相加,产生了5个string垃圾。这样算

下去。一秒钟产生的垃圾就非常的吓人。很快就会GC

foreach产生垃圾的原因:

使用foreach循环导致的创建一个新的迭代器对象代码应该如下这种:

Iterator strings = listOfStrings.iterator();
while (strings.hasNext())
{
   String s = strings.next();
}
创建了额外的迭代器和指针。

所以,不要在Update中循环。更不要在update中foreach循环。尽量使用for而不是foreach。

本文链接:

https://bobsong.cn/108.html
1 + 4 =
快来做第一个评论的人吧~