Dbrant has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/372847 )

Change subject: Prevent possible memory leak in OfflineManager.
......................................................................

Prevent possible memory leak in OfflineManager.

When searchForCompilations() is invoked, the Callback that is passed into
it can be an anonymous class belonging to an Activity.  When the
searchTask completes, it can technically hold on to a reference of
Callback indefinitely.

This patch explicitly sets searchTask to null as soon as the task itself
finishes, so that any references to the Callback (and thus references to
an Activity) are not held for longer than necessary.

Change-Id: I197dbabadae59bd93d1ac6e3adf49a2e4fd76acc
---
M app/src/main/java/org/wikipedia/offline/OfflineManager.java
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/47/372847/1

diff --git a/app/src/main/java/org/wikipedia/offline/OfflineManager.java 
b/app/src/main/java/org/wikipedia/offline/OfflineManager.java
index e51c91d..9bbbc97 100644
--- a/app/src/main/java/org/wikipedia/offline/OfflineManager.java
+++ b/app/src/main/java/org/wikipedia/offline/OfflineManager.java
@@ -56,6 +56,7 @@
         lastSearchTime = System.currentTimeMillis();
         searchTask = new CompilationSearchTask() {
             @Override public void onFinish(List<Compilation> results) {
+                searchTask = null;
                 if (isCancelled()) {
                     return;
                 }
@@ -81,6 +82,7 @@
             }
 
             @Override public void onCatch(Throwable caught) {
+                searchTask = null;
                 L.e("Error while searching for compilations.", caught);
                 callback.onError(caught);
             }

-- 
To view, visit https://gerrit.wikimedia.org/r/372847
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I197dbabadae59bd93d1ac6e3adf49a2e4fd76acc
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to