Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android——对象创建/内存分配与性能_Android_Performance_Memory - Fatal编程技术网

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

Android——对象创建/内存分配与性能,android,performance,memory,Android,Performance,Memory,这可能是一个简单的问题。在我当前的项目中,我有大约20个TextView/ImageView,我可以这样访问: ((TextView)multiLayout.findViewById(R.id.GameBoard_Multi_Answer1_Text)).setText(""); //or ((ImageView)multiLayout.findViewById(R.id.GameBoard_Multi_Answer1_Right)).setVisibility(View.INVISIBLE

这可能是一个简单的问题。在我当前的项目中,我有大约20个TextView/ImageView,我可以这样访问:

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

//or

((ImageView)multiLayout.findViewById(R.id.GameBoard_Multi_Answer1_Right)).setVisibility(View.INVISIBLE);
我的问题是,从性能的角度来看,仅仅分配这些对象变量是否更好?此外,作为findViewById(…)方法的一部分,我是否会因为持续的“搜索”过程而失去一些性能?(即FindViewById(…)是否使用某种哈希表/哈希映射进行查找,或者它是否在视图层次结构上实现迭代搜索?)

目前,我的程序从来没有使用超过2.5MB的RAM,所以分配20个或更多的对象变量会极大地影响这一点吗?我不这么认为,但我想我会问的


谢谢。

是的,缓存对视图的引用是正确的。这就是
ListView
Tag/Holder
所涉及的内容,出于性能原因,它就在那里。

是的,缓存对视图的引用是正确的。这就是
ListView
Tag/Holder
所涉及的内容,出于性能原因而存在