ListView优化的几点建议

Posted wjinhhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView优化的几点建议相关的知识,希望对你有一定的参考价值。

1、根据android官方文档的说明:在Adapter中使用ViewHolder(在android5.0materials design中的组件RecyclerView已经体现),在getView方法中复用convertView,设置tag。
自己的部分代码片段:

 @Override
    public View getView(int position, View convertView, ViewGroup parent) 
        View view;
        ViewHolder holder = null;
        if (convertView == null) 
            view = LayoutInflater.from(context).inflate(R.layout.layout_item_xiaohua, null);
            holder = new ViewHolder();
            holder.tv_xiaohua_title = (TextView) view.findViewById(R.id.tv_xiaohua_title);
            holder.tv_xiaohua_content = (TextView) view.findViewById(R.id.tv_xiaohua_content);
            holder.tv_xiaohua_time = (TextView) view.findViewById(R.id.tv_xiaohua_time);
            view.setTag(holder);
         else 
            view = convertView;
            holder = (ViewHolder) view.getTag();
        
        XiaoHuaBean.XiaoHuaList xiaoHuaList = list.get(position);
        String hadRead = SharePrefUtil.getString(context, "hadread", "");
        if (hadRead.contains(xiaoHuaList.title))
            holder.tv_xiaohua_title.setTextColor(context.getResources().getColor(R.color.colorGray));
            holder.tv_xiaohua_content.setTextColor(context.getResources().getColor(R.color.colorGray));
            holder.tv_xiaohua_time.setTextColor(context.getResources().getColor(R.color.colorGray));
        
        holder.tv_xiaohua_title.setText(xiaoHuaList.title);
        holder.tv_xiaohua_content.setText(xiaoHuaList.text);
        holder.tv_xiaohua_time.setText(xiaoHuaList.ct);
        return view;
    

    private class ViewHolder
        private TextView tv_xiaohua_title;
        private TextView tv_xiaohua_content;
        private TextView tv_xiaohua_time;

    

2、item中含有图片的时候,设置滑动的时候不加载图片,对图片的处理很重要,如果对图片的质量要求不是很高的情况,尽量压缩一下,大图处理是防止内存溢出的关键。
3、把scrollingCache和animationCache设置为false。
4、数据量庞大的时候,尽量使用分页加载处理。
5、尽量使用ApplicationContext,避免在getView方法中使用复杂的业务逻辑和线程,避免在Adapter中使用static定义全局变量。

以上是关于ListView优化的几点建议的主要内容,如果未能解决你的问题,请参考以下文章

优化Webpack构建性能的几点建议

Java内存优化和性能优化的几点建议

优化 Webpack 构建性能的几点建议

关于Java性能优化的几点建议,爱了爱了

有效提高ThinkPHP的应用性能的几点建议

Sql server 千万级大数据SQL查询优化的几点建议