From ffe502bd61ebe78c2f580c1486021dc116a08f94 Mon Sep 17 00:00:00 2001 From: Andy Hung Date: Mon, 17 Oct 2016 18:02:29 -0700 Subject: [PATCH] Ringtone: clear the MediaPlayer listener upon completion This breaks a local refcount cycle and allows the Java gc to finalize the Ringtone and MediaPlayer objects quickly. Bug: 31811091 Change-Id: I0e5a4a78fdc02cc0c8b7811a1f1a45db3c90a0ff --- media/java/android/media/Ringtone.java | 1 + 1 file changed, 1 insertion(+) diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java index c2bcd930dd294..79412d43af45b 100644 --- a/media/java/android/media/Ringtone.java +++ b/media/java/android/media/Ringtone.java @@ -469,6 +469,7 @@ public class Ringtone { synchronized (sActiveRingtones) { sActiveRingtones.remove(Ringtone.this); } + mp.setOnCompletionListener(null); // Help the Java GC: break the refcount cycle. } } }