 <p>I think you should optimise your adapter for recycler view. PagerAdapter is not the culprit. It would be Recycler View that is involved in scrolling.</p> <p>Ideally you should use bean classes instead of ArrayList> because it takes more time to compute has code on keys every time. Also you should take care of following things.</p> <p>Also you are calling <code>arrayList.get(position)</code> every time you want to get some data, call it single time and make the reference of it in bindView and use that reference every where.</p> <p>Make your view hierarchy as flatten as possible, because view hierarchy matters a lot in AdapterViews and can have impact on performance depending upon nesting level.</p>