I'm showing video in an app using the following code in the VideoActivity:
binding.videoView.setVideoURI(videoUri);
binding.videoView.requestFocus();
binding.videoView.start();
binding.videoView.setOnPreparedListener(new
MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
binding.progressBar.progressOverlay.setVisibility(View.GONE);
}
});
binding.videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
binding.videoView.suspend();
binding.videoView.stopPlayback();
setResult(RESULT_OK);
finish();
}
});
binding.videoSkipButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
binding.videoView.suspend();
binding.videoView.stopPlayback();
setResult(RESULT_OK);
finish();
}
});
And after skipping / ending I get a report from leak canary that my activity:

How do I eliminate this leak?
I've also seen this question with similar leakcanary trace: VideoView memory leak
But there the problem was with ButterKnife unbinding. Do I need to do something similar with DataBinding?