Android如何提高ListView的滑动效率
来源:互联网 发布:科比退役是网络直播吗 编辑:程序博客网 时间:2024/06/09 16:43
如何提高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的滚动速度问题.
- }
0 0
- Android如何提高ListView的滑动效率
- android ListView的滑动效率问题
- ListView的效率提高
- android201--如何提高ListView效率
- ListView如何提高其效率?
- ListView 如何提高其效率
- Listview如何提高其效率
- ListView的滑动效率问题
- 安卓自定义Adapter,以及如何提高ListView的效率
- 提高ListView的显示效率
- 提高android应用的效率--主要讲解listview的优化
- 提高android应用的效率--主要讲解listview的优化
- 提高android应用的效率--主要讲解listview的优化
- 提高android应用的效率--主要讲解listview的优化
- Android探究--使用ViewHolder提高ListView效率
- Android ListView&异步加载的学习(四)——完善ListView滑动效率问题
- 【分享】android开发该如何提高Android程序的效率
- 【分享】android开发该如何提高Android程序的效率
- weblogic12c下载及安装
- 2014百度之星资格赛第二题
- mysql文本函数和数字函数
- 黑马程序员--学习笔记(集合框架中的两个工具类,高级for循环,可变参数,静态导入)
- 2 Xcode5(3)
- Android如何提高ListView的滑动效率
- 白平衡修正算法
- 深入探索spring技术内幕(七): 配置Spring AOP面向切面编程
- 网络配置——Linux运维基础
- extjs的window布局
- Linux软件安装常用方法
- swustOJ哈弗曼编码(985)
- c语言,通过指针交换两个数的值
- Windows DIB文件操作详解-1.DIB的读入、保存和显示