listview

标签: listview

ListView优化

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。 convertView 复用 + 使用ViewHolder 在adapter中的getView方法中尽量少使用逻辑(逻辑在数据集合处理好) 尽最大可能避免getView中大量创建对象 对象池 滑动的时候不加载图片 将ListView的scrollingCache和animateCache设置为false、 scrollingCache将他自己的drawing保存在cache中(保存为一个bitmap),这样下次再显示View的时候就不用重画了,而是从cache中取出。默认情况下drawing cahce是禁用的,因为它太耗内存了, item的布局层级越少越好 减少不必要的层级 | ConstraintLayout 分页加载 多个viewType复用 private class ChatHeadAdapter extends BaseAdapter { @Override public int getCount() { return 50; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position)

阅读全文...

ListView之setEmptyView的问题

转自:http://gundumw100.iteye.com/blog/1165673 使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要      当列表为空时就会自动显示TextView  但是,如果继承Activity的话,想出现上面的效果,就需要手动      ListView list= (ListView)findViewById(R.id.mylist);  TextView tv= (TextView)findViewById(R.id.myempty);  list.setEmptyView(tv);  误区:  setEmptyView(View)这个函数很有误导性,有时可能会在代码中写EmptyView,像下面这样:  TextView tv= new TextView(this);  tv.setText(“this

阅读全文...