适配器支架中的 Android getString 性能问题

标签 android getstring

我访问适配器中的字符串资源。但我担心哪种方式有用或性能更好?第一种方法似乎没什么用,但它会在性能方面产生问题吗?

1;

Context context;
public Adapter(Context context){
     this.context = context;
}

...
...

public void onBind(Holder holder,int position) {
     holder.text.setText(context.getResources().getString(R.string.formText, position));
}

2;

Context context;
String formText;

public Adapter(Context context){
     this.context = context;
     this.formText= context.getResources().getString(R.string.formText);
}

...
...

public void onBind(Holder holder,int position) {
     holder.text.setText(String.format(formText, position));
}

最佳答案

第二个对性能的影响较小。您可以避免多次查找字符串资源。如果没有适当的基准,就无法说出性能受到了多少影响。

就实用性而言,两者都可以。

关于适配器支架中的 Android getString 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270573/

相关文章:

java - 如何让 android 相机预览保持专注?

Android - 如何避免两个 runOnUIThread 调用之间的死锁

android - 为什么 usbManager.getAccessoryList();总是返回空值?

.net - 从 System.Text.Encoding.Unicode.GetString 获取以 null 结尾的字符串

java - Apps 类型未定义方法 getString(int)

android - 如何在 Kotlin 中使用 Regex 替换 Android WebView 中的链接

android - 将月球着陆器转换为使用 Opengl

android: getResources().getIdentifier NotFound 异常

java - JSONObject getstring 从字符串中删除零