重复使用textview vs新声明

问题描述:

重用textveiew有什么好处吗?代码在不重用时更具可读性。除了在创建新声明时代码更具可读性之外,这两种使用方式是否有区别?尤其是当有很多textviews重复使用textview vs新声明

重用例如

TextView tv = (TextView) v.findViewById(R.id.tv1); 
tv.setText("tv1"); 
tv = (TextView) v.findViewById(R.id.tv2); 
tv.setText("tv2"); 

新的声明例如

TextView tv1 = (TextView) v.findViewById(R.id.tv1); 
tv1.setText("tv1"); 
TextView tv2 = (TextView) v.findViewById(R.id.tv2); 
tv2.setText("tv2"); 
+0

我想有更少的内存消耗时重用,因为我一次只有一个textview在内存中,但我有点找速度:) – Flexo 2012-02-08 08:47:42

都能跟得上的,不会在所有

+1

你基于什么你的答案?你有链接到一个解释这个问题的帖子吗? – Flexo 2012-02-08 08:57:23

findViewById任何区别(..)是每次需要访问TextView时都不希望执行的操作,因此建议初始化TextView

+0

嗯,问题是我有一个viewpager与包含5-10 textview的一些视图,其中大多数都显示静态数据,我从服务器获得,因此我需要在viewpager中我的instantiateItem方法中使用findViewById。我希望其中一种方法可以提高性能,并且任何事情都比没有好 – Flexo 2012-02-08 08:53:44

+0

为了达到性能目的,您应该缓存TextViews,以便您不必每次都执行findViewById(...) – 2012-02-08 08:57:55

+1

那么,Android会处理缓存视图本身,所以我不想干涉这一点 – Flexo 2012-02-08 09:14:13

除了内存,如果你不打算在代码中的任何地方使用tv(TextView Object),那么第一种方法是更好的,否则第二种方法是好的。