前面ObjectPool脚本的GetObject方法中,while循环中都掉了return,导致运行就卡死。
其中有一次运行的时候控制台提示内存溢出,就找了下脚本中有循环的部分,发现是GetObject函数写错了,漏写了return。
while (i-->0) {
T t = pool[i];
pool.RemoveAt(i);
//return t; //开始的时候这句漏写了
}
另外,正确的写法并没有循环,所以把while改成了if,至少写错的情况下也不会有死循环的情况。