android - 循环中哪个更好 - context.getString() 或变量?

标签 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)的用法当字节码编译器做了很好的优化工作时,循环内可能是更好的解决方案。

最佳答案

(根据我对您问题的理解)我建议您将 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/

相关文章:

android - Firebase Analytics 用户属性

java - 最终变量赋值 : at declaration or in constructor?

java - 如何将上下文从 AyncTask 传递到 DatabaseHandler

Android Fragment 生命周期方向改变

android - 旧 java 项目中的新 kotlin 文件 - 'Unresolved reference' R

bash - 在 bash 脚本中插入包含 '$' 的变量

Android 正在跳过 startActivityForResult,抛出异常

java - Android TTS 中没有声音 - 上下文错误?

java - 为什么在 android ArrayAdapter 中找不到我的 textView?

java - 从匿名内部类访问外部类最终局部变量