如何提高ListView的滚动速度,ListView的滚动速度的提高在于getView方法的实现,通常我们的getView方法会这样写:


View getView(int position,View convertView,ViewGroup parent){    //首先构建LayoutInflater     LayoutInflater factory = LayoutInflater.from(context);                  View view = factory.inflate(R.layout.id,null);    //然后构建自己需要的组件      TextView text = (TextView) view.findViewById(R.id.textid);      .      .     return view;}


这样ListView的滚动速度其实是最慢的,因为adapter每次加载的时候都要重新构建LayoutInflater和所有你的组件.而下面的方法是相对比较好的:

View getView(int position,View contertView,ViewGroup parent){    //如果convertView为空,初始化convertView     if(convertView == null)       {        LayoutInflater factory = LayoutInfater.from(context);                   convertView = factory.inflate(R.layout.id,null);       }   //然后定义你的组件     (TextView) convertView.findViewById(R.id.textid);     return convertView;}


这样做的好处就是不用每次都重新构建convertView,基本上只有在加载第一个item时会创建convertView,这样就提高了adapter的加载速度,从而提高了ListView的滚动速度.而下面这种方法则是最好的:
//首先定义一个你 用到的组件的类:static class ViewClass{     TextView textView;     .     .}View getView(int position,View convertView,ViewGroup parent){     ViewClass view ;      if(convertView == null){         LayoutInflater factory = LayoutInflater.from(context);                    convertView = factory.inflate(R.layout.id,null);         view = new ViewClass();         view.textView = (TextView)                           convertView.findViewById(R.id.textViewid);        .        .         convertView.setTag(view);       }else{          view =(ViewClass) convertView.getTag();}//然后做一些自己想要的处理,这样就大大提高了adapter的加载速度,从而大大提高了ListView的滚动速度问题.}


更多相关文章

  1. Android材料设计库之折叠式布局你应该知道的一切
  2. 当ScrollView嵌套RecyclerView 或者EditText的时候,进去页面总会
  3. android自定义View-垂直滚动的TextView
  4. 【Android】10.1 扩展组件库和其他视图--本章示例主界面
  5. Android开发环境配置之ADT怪异问题
  6. Intent学习
  7. Android(安卓)Studio中TextView文本过长滚动显示方法
  8. 组件(Widget)的复合使用
  9. Android(安卓)列表使用(ListView GridView Gallery图片计时滚动)

随机推荐

  1. android ViewPager 自适应高度
  2. Android省电开发 浅析
  3. Android(安卓)Fragment 间通信
  4. android开发简单的计算器
  5. 数据类型的转换与检测、变量声明与常用声
  6. 在代码中为选项卡添加内容
  7. Android缓冲进度条或加载进度条
  8. App Widget(Application Widget)第一讲(Andr
  9. Android(安卓)数据库创建字段时的数据类
  10. Android(安卓)JNI编程学习