我使用了一些在资源文件中定义的字符串。什么在资源使用和性能方面更好?
调用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)
的用法当字节码编译器做了很好的优化工作时,循环内可能是更好的解决方案。
最佳答案
(根据我对您问题的理解)我建议您将 context.getString(stringId) 存储在循环外的变量中,并在循环内使用此变量。
因为,在这种情况下,在 for 循环中,您的程序执行者不需要每次都从 String 文件中获取数据。它仅引用单个变量。
例如:
String result = context.getString(id);
for(int i=o;i<some.size();i++)
{
Log.d(TAG, result);
}
关于android - 循环中哪个更好 - context.getString() 或变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257485/