重复使用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");
findViewById任何区别(..)是每次需要访问TextView时都不希望执行的操作,因此建议初始化TextView
嗯,问题是我有一个viewpager与包含5-10 textview的一些视图,其中大多数都显示静态数据,我从服务器获得,因此我需要在viewpager中我的instantiateItem方法中使用findViewById。我希望其中一种方法可以提高性能,并且任何事情都比没有好 – Flexo 2012-02-08 08:53:44
为了达到性能目的,您应该缓存TextViews,以便您不必每次都执行findViewById(...) – 2012-02-08 08:57:55
那么,Android会处理缓存视图本身,所以我不想干涉这一点 – Flexo 2012-02-08 09:14:13
除了内存,如果你不打算在代码中的任何地方使用tv(TextView Object)
,那么第一种方法是更好的,否则第二种方法是好的。
我想有更少的内存消耗时重用,因为我一次只有一个textview在内存中,但我有点找速度:) – Flexo 2012-02-08 08:47:42