Day*_*yan 6 java performance android
对于一般的Android开发,执行以下操作会更昂贵:(示例1)
for(int x=0; x < largeObjectCollection.size(); x++){
largeObjectCollection.get(x).SomeValueOne = "Sample Value 1";
largeObjectCollection.get(x).SomeValueTwo = "Sample Value 2";
largeObjectCollection.get(x).SomeValueThree = "Sample Value 3" ;
//Continues on to over 30 properties...
}
Run Code Online (Sandbox Code Playgroud)
在此实现(示例2)
for(int x=0; x < largeObjectCollection.size(); x++){
SampleObjectIns myObject = largeObjectCollection.get(x);
myObject.SomeValueOne = "Sample Value 1";
myObject.SomeValueTwo = "Sample Value 2";
myObject.SomeValueThree = "Sample Value 3" ;
//Continues on to over 30 properties...
}
Run Code Online (Sandbox Code Playgroud)
当使用.get()多次而不是每次迭代创建该对象的新实例时,我找不到任何性能影响的细分.
我认为.get()在资源方面没有太大用处,因为元素的位置已经知道,但是当处理许多属性时,最好只获取该对象一次,如例2所示?
第一个案例显然需要做更多的工作。至少有两种可能性:
操作ArrayList.get速度非常快;它基本上只是进行数组查找,并且它查找的值已经在缓存中,因为您刚刚查找过它。
因此,您的时间测量主要由您正在做的其他工作决定。因此,即使您拨打的get电话数量比必要的多 29 次,30 倍的小数字仍然是小数字。
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |