use*_*734 3 java performance android for-loop
我正在写一款Android游戏并试图尽可能高效.
我知道for循环比foreach更有效,但我想知道以下两个项目的效率是否存在差异:
// itemsList is an ArrayList
int length = itemsList.size();
for(int i=0; i < length; i++)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
VS
for(int i=0; i < itemsList.size(); i++)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
Gol*_*rol 11
这取决于.从理论上讲,第一个会更快,因为第二个将在每次迭代中进行函数调用.在实践中,这可以在很大程度上进行优化.大小可能会缓存在对象中,这只会留下函数调用的开销(实际上是零).但如果有疑问,请选择第一个.它不会慢.
但总的来说,请记住:过早优化是万恶之源.
不要选择特定的解决方案,因为您认为它们的速度可能会快一百纳秒.相反,写好,可靠和最重要的可读代码.然后,优化真正的瓶颈.
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |