循环中有什么更好的 - context.getString()或变量?

时间:2011-11-24 12:59:27

标签: android variables android-context getstring

我使用了一些在资源文件中定义的字符串。在资源使用和性能方面有什么好处? 每个循环调用context.getString(stringId)或将context.getString(stringId)存储在循环外的变量中,并在循环中使用此变量。

一些伪代码...

没有变量:

while (condition) {
   DoSomethingWithString(context.getString(stringId));
}

使用变量:

String variable = context.getString(stringId);
while (condition) {
   DoSomethingWithString(variable);
}

更多的想法......变量东西看起来是更好的解决方案,因为每次都不需要从资源文件中获取数据。但是你必须再使用一个变量。好的,在这种情况下它只是一个变量,但它也只是一个伪示例,所以它可能会添加一些资源使用。除此之外,resourcestring必须在使用此字符串之前复制到另一个字符串(性能?)。 当字节码编译器执行良好的优化工作时,在循环中使用context.getString(stringId)可能是更好的解决方案。

1 个答案:

答案 0 :(得分:2)

(根据我对你的问题的理解)我建议你将context.getString(stringId)存储在循环外的变量中,并在循环中使用这个变量。

因为,在这个for循环中,你的程序执行者不需要每次都从String文件中获取数据。它只是引用单个变量。

例如:

String result = context.getString(id);

for(int i=o;i<some.size();i++)
{
 Log.d(TAG, result);
}