两种重用convertView的方法孰优孰劣?

来源:互联网 发布:开票软件找不到金税盘 编辑:程序博客网 时间:2024/04/30 02:13

android中使用ListView时在getview方法中需要重用convertView,用来提高系统性能。目前有两种方式:

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;View view;if(convertView == null) {holder = new ViewHolder();view = inflater.inflate(R.layout.list_item, null);holder.name = (TextView) view.findViewById(R.id.textView1);view.setTag(holder);}else {view =  convertView ;}holder = (ViewHolder) view.getTag();holder.name.setText(list.get(position));return view;}

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView == null) {holder = new ViewHolder();convertView = inflater.inflate(R.layout.list_item, null);holder.name = (TextView) convertView.findViewById(R.id.textView1);convertView.setTag(holder);}holder = (ViewHolder) convertView.getTag();holder.name.setText(list.get(position));return convertView;}

 这两种方式都能达到重用convertView的目的, 唯一的区别是第一种多了一层对view的引用。

有人在做图片浏览器的时候,发现第一种的性能会比第二种稍微好一点,具体什么原因,我死活都想不明白。哪位大侠可以指点迷津?

原创粉丝点击