title: RecyclerView does not Recycling Views when use it inside NestedScrollView
body: <p>I'm using <code>RecyclerView</code> inside <code>NestedScrollView</code>. Also i set <code>setNestedScrollingEnabled</code> to false for <code>recyclerview</code></p>
  
  <p><strong>to support lower API</strong> </p>
  
  <p><code>ViewCompat.setNestedScrollingEnabled(mRecyclerView, false);</code></p>
  
  <p>Now! When user scrolled the view every thing seems okay, but!!! views in recyclerview does not recycled!!! and Heap size grows swiftly!!</p>
  
  <p><strong>Update</strong>:
  RecyclerView layout manager is <code>StaggeredLayoutManager</code></p>
  
  <p><strong>fragment_profile.xml</strong>:</p>
  
  <pre><code>&lt;android.support.design.widget.CoordinatorLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/coordinator"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" &gt;
  
          &lt;android.support.design.widget.AppBarLayout
              android:id="@+id/appbar"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" &gt;
          &lt;/android.support.design.widget.AppBarLayout&gt;
  
          &lt;android.support.v4.widget.SwipeRefreshLayout
              android:id="@+id/profileSwipeRefreshLayout"
              android:layout_width="match_parent"
              android:layout_height="match_parent" &gt;
  
                  &lt;!-- RecyclerView and NestedScrollView --&gt;
                  &lt;include layout="@layout/fragment_profile_details" /&gt;
  
          &lt;/android.support.v4.widget.SwipeRefreshLayout&gt;
  
  &lt;/android.support.design.widget.CoordinatorLayout&gt;
  </code></pre>
  
  <p><strong>fragment_profile_details.xml</strong>:</p>
  
  <pre><code>&lt;LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/rootLayout"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:layout_behavior="@string/appbar_scrolling_view_behavior"
      android:orientation="vertical" &gt;
  
          &lt;android.support.v4.widget.NestedScrollView
              android:id="@+id/nested_scrollbar"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_gravity="fill_vertical"
              app:layout_behavior="@string/appbar_scrolling_view_behavior"
              android:fillViewport="true"
              android:scrollbars="none" &gt;
  
                  &lt;LinearLayout
                      android:id="@+id/nested_scrollbar_linear"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:descendantFocusability="blocksDescendants"
                      android:orientation="vertical" &gt;
  
                          &lt;android.support.v7.widget.CardView
                              android:id="@+id/profileCardview"
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              app:cardBackgroundColor="@color/card_backgroind"
                              app:cardCornerRadius="0dp"
                              app:cardElevation="0dp" &gt;
  
                              &lt;!-- Profile related stuff like avatar and etc. ---&gt;
  
                          &lt;/android.support.v7.widget.CardView&gt;
  
                          &lt;android.support.v7.widget.RecyclerView
                              android:id="@+id/list_view"
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:layout_marginBottom="@dimen/four"
                              android:layout_marginEnd="@dimen/four"
                              android:layout_marginLeft="@dimen/four"
                              android:layout_marginRight="@dimen/four"
                              android:layout_marginStart="@dimen/four"
                              android:layout_marginTop="@dimen/four"
                              app:layout_behavior="@string/appbar_scrolling_view_behavior"
                              android:clipToPadding="false" /&gt;
  
                  &lt;/LinearLayout&gt;
          &lt;/android.support.v4.widget.NestedScrollView&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p><strong>ProfileFragment.java</strong>:</p>
  
  <pre><code>mAdapter        = new MainAdapter(getActivity(), glide, Data);
  
  listView        = (RecyclerView) view.findViewById(R.id.list_view);
  
  ViewCompat.setNestedScrollingEnabled(listView, false);  
  listView.setAdapter(mAdapter);
  
  mStaggeredLM    = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
  mStaggeredLM.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS);
  
  listView.setLayoutManager(mStaggeredLM);
  
  mScroll.setOnScrollChangeListener(new OnScrollChangeListener() {
  
          @Override
          public void onScrollChange(NestedScrollView arg0, int arg1, int arg2, int arg3, int arg4) {
  
              View view   = (View) mScroll.getChildAt(mScroll.getChildCount() - 1);
              int diff    = (view.getBottom() - ( mScroll.getHeight() + mScroll.getScrollY()));
  
              if(diff == 0){
  
                  int visibleItemCount            = mStaggeredLM.getChildCount();
                  int totalItemCount              = mStaggeredLM.getItemCount();
  
                  int[] lastVisibleItemPositions  = mStaggeredLM.findLastVisibleItemPositions(null);
                  int lastVisibleItemPos  = getLastVisibleItem(lastVisibleItemPositions);
  
                  Log.e("getChildCount", String.valueOf(visibleItemCount));
                  Log.e("getItemCount", String.valueOf(totalItemCount));
                  Log.e("lastVisibleItemPos", String.valueOf(lastVisibleItemPos));
  
                  if ((visibleItemCount + 5) &gt;= totalItemCount) {
  
                      mLoadMore.setVisibility(View.VISIBLE);
                      Log.e("LOG", "Last Item Reached!");
                  }
  
                  mMore = true;
                  mFresh = false;
                  mRefresh = false;
                  getPosts();
              }
  
          }
  
      });
  </code></pre>
  
  <p>P.s : I've set load more to scroll view, because <code>recyclerview</code> do it continuously and none stoppable!  </p>
  
  <p>Any help is appreciated</p>