当前位置: 代码迷 >> Android >> 哪位高手知道QQ通讯录中的那个联系人滑动时的效率有关问题是如何解决的 ? 滑动时非常顺畅
  详细解决方案

哪位高手知道QQ通讯录中的那个联系人滑动时的效率有关问题是如何解决的 ? 滑动时非常顺畅

热度:80   发布时间:2016-05-01 21:52:51.0
谁知道QQ通讯录中的那个联系人滑动时的效率问题是怎么解决的 ? 滑动时非常顺畅 .
如题 ...

------解决方案--------------------
重写getView,看看是否达到了你预期速度。
public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;
if (convertView == null) {

holder=new ViewHolder();

convertView = mInflater.inflate(R.layout.listmulti, null);
holder.name = (TextView)convertView.findViewById(R.id.txtperson);
holder.phonenumber = (TextView)convertView.findViewById(R.id.txtNumber);
holder.chkSelect = (CheckBox)convertView.findViewById(R.id.chkbox);

convertView.setTag(holder);

}else {

holder = (ViewHolder)convertView.getTag();
}


//holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));
holder.name.setText((String)mData.get(position).get("name"));
holder.phonenumber.setText((String)mData.get(position).get("phonenumber"));
 }
 private final class ViewHolder{
public TextView name;
public TextView phonenumber;
public CheckBox chkSelect;


------解决方案--------------------
嗯,看了那帖子了,我那代码大概180多个号码,滚动很流畅,没有卡顿情况。
------解决方案--------------------
listview中的滑动不会存在太多的问题。性能问题解决方法
1)复用view,不要每次new 新的view。
2)使getview里面的逻辑尽量简单,不要在里面每次都new对象。
3)不要用太复杂的布局,如果布局复杂的话,会影响效率(为会会创建view层次),此时,就直接写一个view,直接从view继承,界面完全自绘制。(这种效率是最高的,控制要复杂一点)
  相关解决方案