Android IjkPlayer内存泄漏问题,退出播放的acrivity过段时间闪屏到主页(求大神帮助)。报如下错误:
A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'release' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:184)
at android.view.Surface.setNativeObjectLocked(Surface.java:433)
at android.view.Surface.<init>(Surface.java:136)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$InternalSurfaceHolder.openSurface(TextureRenderView.java:199)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$InternalSurfaceHolder.bindToMediaPlayer(TextureRenderView.java:172)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.bindSurfaceHolder(IjkVideoView.java:765)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.openVideo(IjkVideoView.java:462)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.access$30(IjkVideoView.java:365)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView$7.onSurfaceCreated(IjkVideoView.java:799)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$SurfaceCallback.onSurfaceTextureAvailable(TextureRenderView.java:268)
at android.view.TextureView.getHardwareLayer(TextureView.java:385).......
A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'release' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:184)
at android.view.Surface.setNativeObjectLocked(Surface.java:433)
at android.view.Surface.<init>(Surface.java:136)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$InternalSurfaceHolder.openSurface(TextureRenderView.java:199)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$InternalSurfaceHolder.bindToMediaPlayer(TextureRenderView.java:172)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.bindSurfaceHolder(IjkVideoView.java:765)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.openVideo(IjkVideoView.java:462)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView.access$30(IjkVideoView.java:365)
at com.dou361.jjdxm.ijkplayer.widget.IjkVideoView$7.onSurfaceCreated(IjkVideoView.java:799)
at com.dou361.jjdxm.ijkplayer.widget.TextureRenderView$SurfaceCallback.onSurfaceTextureAvailable(TextureRenderView.java:268)
at android.view.TextureView.getHardwareLayer(TextureView.java:385).......
@Override
protected void onDestroy() {
super.onDestroy();
if (player != null) {
player.onDestroy();
}
} public PlayerView onDestroy() {
orientationEventListener.disable();
mHandler.removeMessages(MESSAGE_RESTART_PLAY);
mHandler.removeMessages(MESSAGE_SEEK_NEW_POSITION);
videoView.stopPlayback();
return this;
} /**
* 停止视频
*/
public void stopPlayback() {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = null;
mCurrentState = PlayStateParams.STATE_IDLE;
mTargetState = PlayStateParams.STATE_IDLE;
AudioManager am = (AudioManager) mAppContext.getSystemService(Context.AUDIO_SERVICE);
am.abandonAudioFocus(null);
}
}