Commit 08965c03 by []inger Committed by Oliver Woodman

Avoid memory leaks by removing callbacks from surface when SimpleExoPlayer is released.

Without this developers which reuse a SurfaceHolder with multiple instances of
SimpleExoPlayer need to call simpleExoPlayer.setVideoSurfaceHolder(null) to get
the SimpleExoPlayer.ComponentListener removed from the surface holder. If they
don't, the component listener is still registered and as a member class leaks
an instance of simpleExoPlayer.

Issue #1855

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135292439
parent d334dfdc
...@@ -456,6 +456,7 @@ public final class SimpleExoPlayer implements ExoPlayer { ...@@ -456,6 +456,7 @@ public final class SimpleExoPlayer implements ExoPlayer {
@Override @Override
public void release() { public void release() {
player.release(); player.release();
removeSurfaceCallbacks();
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment