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,