我有一个使用 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()
我的假设是它正在吃掉设备的内存,但我不明白我错了什么