RecyclerView使用 及 滑动时加载图片优化方案,Android高级工程师进阶学习

本文介绍了Android中RecyclerView的使用,强调了其优于ListView的灵活性和性能,并提供了使用示例。此外,讨论了滑动时加载图片的优化策略,包括线程控制和分页加载,以及通过重写onScrollStateChanged方法实现智能加载。
摘要由CSDN通过智能技术生成
  • 2、重写onScrollStateChanged方法

这个我们后面再谈,下面先来看看RecyclerView控件的使用及我们为什么选择使用它。

RecyclerView的使用

===================

RecyclerView 位于package android.support.v7.widget; 包下,直接继承了android.view.ViewGroup,是Android中新添加的一个用来取代ListView的滑动控件,其灵活性与可替代性比ListView更优秀,运行原理与ListView类似,都是通过维护少量的View可展示大量的数据集。

总结其优点:

  • 一、标准化了ViewHolder,使用Adapter适配器时,面向ViewHolder而不是单纯的View,直接把ViewHolder的实现封装起来,用户只要实现自己的ViewHolder就可以了,该组件会自动帮你回收并复用每一个item。不但变得更精简,也变得更加容易使用,而且更容易组合设计出自己需要的滑动布局。

  • 二、将Layout抽象成了一个LayoutManager,RecyclerView不负责子View的布局,而是通过使用LayoutManager来实现不同的布局效果,如使用LinearLayoutManager来指定方向,其默认是垂直,也可以设置为水平,当然你也可以自己来定义。

我们来看看官方给出的示例:

1.MyActivity.java

public class MyActivity extends Activity {

private RecyclerView mRecyclerView;

private RecyclerView.Adapter mAdapter;

private RecyclerView.LayoutManager mLayoutManager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.my_activity);

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

// improve performance if you know that changes in content do not change the size of the RecyclerView

//如果确定每个item的内容不会改变RecyclerView的大小,设置这个选项可以提高性能

mRecyclerView.setHasFixedSize(true);

// use a linear layout manager

//创建默认的线性LayoutManager

mLayoutManager = new LinearLayoutManager(this);

mRecyclerView.setLayoutManager(mLayoutManager);

// specify an adapter (see also next example)

//设置Adapter

mAdapter = new MyAdapter(myDataset);

mRecyclerView.setAdapter(mAdapter);

}

}

LayoutManager:用来确定每一个item如何进行排列摆放,何时展示和隐藏。提供默认的动画效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值