我有一项使用MediaPlayer播放视频内容的活动。该活动通过在按键上/下按下播放不同的HLS视频流来模拟电视设备。在观看一些视频较长时间(大约> 15分钟)后,当我按任意键时APP没有响应并且进入强制关闭屏幕。这是我在每个关键事件上/下做的事情:
//I'm creating the media player object only once, after every channel switch i do:
if(mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
mMediaPlayer.reset();
}
try {
mMediaPlayer.setDataSource(app.channels.get(current_index).streaming_url);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.setScreenOnWhilePlaying(true);
mMediaPlayer.prepareAsync();
}
catch(Exception e) {
e.printStackTrace();
}
//After this I have an onPreparedListener and mMediaPlayer.start()
我的假设是它正在吃掉设备的记忆,但我无法理解我的错误