【发布时间】:2013-11-07 20:30:40
【问题描述】:
这是我要问的一段代码
for (int i = 0; i < this.options.size(); i++) {
RadioButton butt = this.options.get(i);
//do something with butt
}
如果我将其更改为:
RadioButton butt;
for (int i = 0; i < this.options.size(); i++) {
butt = this.options.get(i);
//do something with butt
}
编辑:如果此代码每秒执行 30-50 次,options 的大小约为 20,该怎么办?
【问题讨论】:
-
巨大?不。唯一的区别是 1 个指针分配 1 个内存,而不是循环的每个项目分配 1 个内存。鉴于这是一个 ui 元素,您最多可能有几十个,这使得它完全可以忽略不计。
-
当您观察到您的应用程序的性能不符合您的性能要求并分析您的应用程序时,您确定这是瓶颈所在吗?您的测试中有哪些可衡量的差异?
-
@Jason 我还没有测试我的应用程序的性能。我只是想知道哪种方法更快(显然没有太大区别)。无论如何,我在谷歌和 StackOverflow 上搜索但没有找到答案,这就是我发布的原因。
-
关于您的编辑:您应该更担心为什么需要在 20 项列表上每秒循环 50 次,而不是声明是否应该进入或退出。
-
回答您的编辑:在这两种情况下再次相同。看我的回答。
标签: java android performance