Merge "Release resources for a previously loaded cursor if a new one comes in."
diff --git a/core/java/android/content/CursorLoader.java b/core/java/android/content/CursorLoader.java
index 01bf968..850ff7f 100644
--- a/core/java/android/content/CursorLoader.java
+++ b/core/java/android/content/CursorLoader.java
@@ -55,8 +55,13 @@
             }
             return;
         }
+        Cursor oldCursor = mCursor;
         mCursor = cursor;
         super.deliverResult(cursor);
+
+        if (oldCursor != null && !oldCursor.isClosed()) {
+            oldCursor.close();
+        }
     }
 
     public CursorLoader(Context context, Uri uri, String[] projection, String selection,