Scrolling is not smooth in Android RecyclerView using StaggeredGridLayout
<p>I created a RecyclerView with two columns using StaggeredGridLayoutManager, every item contain 2 images and text, the size for the first image can be (284*572 , 840*401 or 283*232) the second 35*35 and a text, the list looking great but the problem is that when the user scroll down the scrolling is not smooth and not continuous, the images are taking from the local storage (drawable), what can we do for approving the scrolling experience.</p>

<p>FantasyTabAdpter.java</p>

<pre><code>public class FantasyTabAdapter extends RecyclerView.Adapter&lt;FantasyTabAdapter.MyViewHolder&gt; {
    private LayoutInflater inflater;
    private ArrayList&lt;Fantasy&gt; fantasies;

    public FantasyTabAdapter(Context context, ArrayList&lt;Fantasy&gt; fantasies) {
        inflater = LayoutInflater.from(context);
        this.fantasies = fantasies;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = inflater.inflate(R.layout.fantasy_tab_item, parent, false);
        MyViewHolder holder = new MyViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(final MyViewHolder holder, int position) {
        final Fantasy fantasy = fantasies.get(position);
        holder.setData(fantasy, position);
    }

    @Override
    public int getItemCount() {
        return fantasies.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder{
        ImageView fantasyImage;
        TextView fantasyTitle;
        ImageView fantasyStatus;

        public MyViewHolder(View itemView) {
            super(itemView);
            fantasyImage = (ImageView) itemView.findViewById(R.id.fantasy_tab_image);
            fantasyTitle = (TextView) itemView.findViewById(R.id.fantasy_tab_title);
            fantasyStatus = (ImageView) itemView.findViewById(R.id.fantasy_tab_status);
        }

        public void setData(Fantasy fantasy, int position) {
            this.fantasyTitle.setText(fantasy.getFantasyHeader());
            this.fantasyImage.setImageResource(fantasy.getFantasyHeaderImageID());
            this.fantasyStatus.setImageDrawable(fantasy.statusImagePlsgod);
        }
    }
}
</code></pre>

<p>Setting the RecyclerView in a Fragment</p>

<pre><code>RecyclerView myRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);

StaggeredGridLayoutManager setLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
FantasyTabAdapter fantasyTabAdapter = new FantasyTabAdapter(getActivity(),fantasies);

myRecyclerView.setLayoutManager(setLayoutManager);
myRecyclerView.setAdapter(fantasyTabAdapter);
</code></pre>