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
This commit is contained in:
[]inger 2016-10-05 15:57:08 -07:00 committed by Oliver Woodman
parent d334dfdcba
commit 08965c03d0

View file

@ -456,6 +456,7 @@ public final class SimpleExoPlayer implements ExoPlayer {
@Override
public void release() {
player.release();
removeSurfaceCallbacks();
}
@Override