Android - 对象创建/内存分配与性能

时间:2010-06-14 17:49:04

标签: android performance memory

这可能很简单。我在当前项目中有大约20个TextViews / ImageViews,我可以这样访问:

((TextView)multiLayout.findViewById(R.id.GameBoard_Multi_Answer1_Text)).setText("");

//or

((ImageView)multiLayout.findViewById(R.id.GameBoard_Multi_Answer1_Right)).setVisibility(View.INVISIBLE);

我的问题是,从表现的角度来看,我是更好的,只是分配这些对象变量?此外,作为findViewById(...)方法的一部分,我是否会在常量“搜索”过程中失去一些性能? (即findsViewById(...)是否使用某种散列表/散列图进行查找,或者是否在视图层次结构中实现迭代搜索?)

目前,我的程序从不使用超过2.5MB的RAM,因此分配20个左右的更多对象变量会对此产生巨大影响吗?我不这么认为,但我想我会问。

感谢。

1 个答案:

答案 0 :(得分:1)

是的,缓存对视图的引用是正确的。这就是ListView的{​​{1}}所针对的性能原因。