2014-03-01 94 views
4

我有一个更新方法,即每ms更新游戏中的等级。在此方法中,我有几个for循环看起来像这样的:创造大量的垃圾正在创建以下循环对垃圾收集不好?

int i = 0 

作用:

for (int i = 0: i < 10; ++i){ 

} 

,当我说?并且会有替代方案吗?

谢谢

+0

您能详细你的问题?很难确定什么是真正的问题 – gunar

+0

(有趣的问题,应该有一个,取决于每个循环会发生什么* else) – user2864740

+1

我能想到的唯一选择是'倒转for循环':** for (int i = initializer; i> = 0; i--){...} **,据说是最快的循环变体 –

回答

7

当你写int i = 0它创建无垃圾。

变量i的类型为int,它是原始类型,而不是对象(或引用)类型。 i的状态完全保存在封装方法的堆栈框架内;即不在堆上。

这是否会造成大量垃圾?

而且会有其他选择吗?

没有替代方案是必要的......

+0

非常感谢。我不确定。 – TastyLemons