Android常用控件ListView的简单优化之一: 在ViewHolder中定义static静态内部类
来源:互联网 发布:PHP str_split函数例子 编辑:程序博客网 时间:2024/04/30 05:58
首先,定义一个静态的内部类
static class ViewHolder {
TextViewnametv; //定义listView item中相应的控件
}
然后就可以在自定义的MyAdapter中的getView()方法中使用了
public class MyAdapter extends BaseAdapter {...........
@Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder viewHolder; if (view == null){ view = LayoutInflater.from(context).inflate(R.layout.cell,null); viewHolder = new ViewHolder(); viewHolder.nametv = (TextView) layout.findViewById(R.id.name); viewHolder.nametv.setText(lists.get(i).getName()); view.setTag(viewHolder); } else { viewHolder = (ViewHolder)view.getTag(); viewHolder.nametv.setText(lists.get(i).getName()); } return view; }............}
如果item不是很多的话,可以使用,这样在初始化的时候,只加载一次,可以稍微得到一些优化;
不过,如果item过多的话,建议不要使用。因为static是Java中的一个关键字,当用它来修饰成员变量时,那么该变量就属于该类,而不是该类的实例。所以用static修饰的变量,它的生命周期是很长的,如果用它来引用一些资源耗费过多的实例(比如Context的情况最多),这时就要尽量避免使用了。
对于静态类请参考博文
http://www.cnblogs.com/kissazi2/p/3971065.html
0 0
- Android常用控件ListView的简单优化之一: 在ViewHolder中定义static静态内部类
- android ListView的优化之 static ViewHolder
- ListView优化中View Holder为什么用static声明为静态内部类
- Android中优化ListView的ViewHolder模式
- listview的Adapter性能优化之viewholder终极用法,无需生成holder内部类类
- Java中Static Class及静态内部类和非静态内部类的不同
- java静态内部类和非静态内部类,及他们在外部的定义
- static静态内部类
- Android - ViewHolder优化ListView
- Android ViewHolder 优化 ListView
- Android 非静态内部类导致的内存泄露(非static内部类)
- Android 非静态内部类导致的内存泄露(非static内部类)
- 【c++】为什么类中静态(static)成员不能在类的定义内初始化?
- listview的优化---viewHolder
- ListView的优化--ViewHolder
- ListView的ViewHolder优化
- 在Java中怎么定义一个匿名内部类,定义匿名内部类的条件是什么?
- 深入浅析Java中Static Class及静态内部类和非静态内部类的不同
- 浅谈JSONP POST跨域
- Linux查看网卡是千兆还是万兆网卡
- Spring到底是什么?
- 【HTML5】HTML5
- 删除任务,OSTaskDel()
- Android常用控件ListView的简单优化之一: 在ViewHolder中定义static静态内部类
- spring security +spring boot 自定义 403 页面
- nginx做代理不转发自定义http header问题
- 普通gpio口的申请和设置
- flume配置
- JOptionPane类提示框的一些常用的方法
- 史上最全的MonkeyRunner自动化测试从入门到精通(8)
- 欢迎使用CSDN-markdown编辑器
- 上传本地项目到GITHUB