我尝试在java中使用TextView设置文本:首先我创建了一个这样的对象:
//Property info
TextView propertyInfo = (TextView) info.findViewById(R.id.info);
propertyInfo.setText(getInfo());
//production
TextView production = (TextView) info.findViewById(R.id.production);
production.setText(getProduction());
后来我尝试了同样的事情,但这次我只是投了它而不是创建一个新的对象:
//Property info
((TextView) info.findViewById(R.id.info)).setText(getInfo());
//production
((TextView) info.findViewById(R.id.production)).setText(getProduction());
在我的测试中,我发现第二种方法在调用时使用的内存较少。 我知道为什么,但是,我想知道这样做的正确方法是什么或者你是怎么做的?
答案 0 :(得分:1)
这两种方法基本上都在做同样的事情。
如果您需要通过设置多个属性或事件来重复使用TextView
,则第一种方法最好避免多次调用findViewById
。如果您需要保留对View
的引用以便稍后在其他方法中更新,也是必要的。
如果您只使用View
一次,我个人更喜欢选项二,因为它更简洁。
值得注意的是,在您的第一种方法中,您确实没有创建新的Object
。您只是将返回的View
对象与第二种方法相同。