如何释放VideoView使用的内存

时间:2015-01-27 20:52:35

标签: android video android-videoview

我一直有这个问题。 我有一个简单的应用程序,可以在视频视图中播放视频播放列表,并在它们之间暂停几秒钟。

private final Runnable playNormalVideo = new Runnable() {
    public void run() {
        try {
            final String filepath = ...;
            viewVideo.setOnErrorListener(new OnErrorListener() {
                public boolean onError(MediaPlayer mp, int what, int extra) {
                    onEndVideo(false);
                    return true;
                }
            });
            viewVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    onEndVideo(false);
                }
            });
            viewVideo.setOnPreparedListener(new OnPreparedListener() {
                public void onPrepared(MediaPlayer mp) {
                    background.setVisibility(View.INVISIBLE);
                    viewVideo.start();
                }
            });
            viewVideo.setVideoPath(filepath);
            viewVideo.setVisibility(View.VISIBLE);
            viewVideo.requestFocus();
        } catch (Exception e) {
            String error = Utils.getStackTrace(e);
            Utils.log(true, error);
        }
    }
};

在我的onEndVideo()函数中,我将background显示为可见,然后检查下一个要播放的视频,并在{x = 1}}之后请求在x秒后播放它。
我的问题是以下
从长远来看(大约1天),背景在视频开始前的很多秒内变得不可见。我不明白为什么。如果有人可以帮我摆脱这个问题。
我还以为我应该在视频播放之间释放记忆,但我似乎并没有找到如何做到这一点 注意:所有视频都保存在设备上 谢谢你的帮助。

0 个答案:

没有答案