Merge "Fix item cache bug" into nyc-dev
diff --git a/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java b/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
index 222656b..e7bff81 100644
--- a/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
+++ b/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
@@ -5183,9 +5183,10 @@
                 if (!holder.hasAnyOfTheFlags(ViewHolder.FLAG_INVALID | ViewHolder.FLAG_REMOVED
                         | ViewHolder.FLAG_UPDATE)) {
                     // Retire oldest cached view
-                    final int cachedViewSize = mCachedViews.size();
-                    if (cachedViewSize == mViewCacheMax && cachedViewSize > 0) {
+                    int cachedViewSize = mCachedViews.size();
+                    if (cachedViewSize >= mViewCacheMax && cachedViewSize > 0) {
                         recycleCachedViewAt(0);
+                        cachedViewSize --;
                     }
                     if (cachedViewSize < mViewCacheMax) {
                         mCachedViews.add(holder);