question: private void recycleTopInvisibleViews ( RecyclerView . Recycler recycler ) { final int childCount = getChildCount ( ) ; for ( int i = 0 ; i <= childCount ; i ++ ) { View child = getChildAt ( i ) ; if ( getDecoratedEnd ( child ) > topBorder ) { recycleChildren ( recycler , 0 , i - 1 ) ; firstAttachedItemPosition += i ; updateSpanTopParameters ( ) ; return ; } int heightNum = itemLayoutHeightCache . get ( firstAttachedItemPosition + i ) ; for ( int j = 0 ; j < itemLayoutWidthCache . get ( firstAttachedItemPosition + i ) ; j ++ ) { int spanIndex = itemOccupiedStartSpan . get ( firstAttachedItemPosition + i ) + j ; spanTop [ spanIndex ] += heightNum * sizePerSpan ; } } }
target:  Recycle views out of the top border.