关于listview性能优化问题

1.item 的layout中尽量避免使用wrap_content ,可以使用固定的dp/dip,或者fill_parent/match_parent ;View在Draw的时候分成两个阶段:measurelayout,在measure阶段时主要就是为了计算两个参数:height和width。而且要注意的是,这是个递归的过程,从顶向下,DecorView开始依次调用自己子元素的measure。计算完成这两个参数后就开始layout,最后再是draw的调用。 wrap_content 要计算自己的大小,fill_parent填充父view给的大小,减少了计算

  • FILL_PARENT, which means the View wants to be as big as its parent (minus padding)
  • WRAP_CONTENT, which means that the View wants to be just big enough to enclose its content (plus padding).
对于ListView,当然每一个Item都会被调用measure方法,而在这个过程中getViewgetCount会被调用,根据操作,可能会有很多次调用。

2.Doesn't show fading edges.


3.注意adapter中getview里面的缓存处理

if(convertView == null) {
       convertView = mInflater.inflate(R.layout.item1, null);
       holder = new ViewHolder();
       holder.textView = (TextView)convertView.findViewById(R.id.text);
       convertView.setTag(holder);
   } else {
       holder = (ViewHolder)convertView.getTag();
   }
   holder.textView.setText(mData.get(position));
   return convertView;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值