android – VideoView内存泄漏

你们有没有遇到类似的内存泄漏?

这就是我目前处理VideoView的方式

@Override
protected void onFinishInflate() {
    super.onFinishInflate();
    ButterKnife.bind(this);

    Uri videoUri = Uri.parse(String.format("android.resource://%s/%s", getContext().getPackageName(), videoRes));
    videoView.setVideoURI(videoUri);
    videoView.setOnPreparedListener(mp -> {
        mp.setLooping(true);
        videoView.start();
    });
}

这就是我对LeakCanary的看法

《android – VideoView内存泄漏》

任何帮助赞赏!

最佳答案 当使用ButterKnife with Fragments时,你需要在onDestroyView()中使用Unbinder来正确地取消引用Fragment的视图 – 因为Fragments与Activities有不同的生命周期.

有一个相关的问题here.

点赞