我正在PARTIAL_WAKE_LOCK为我的MediaPlayer实例设置一个:
mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
我怎样才能释放它?它完成了MediaPlayer.release()吗(我在文档中看不到任何相关内容)?
我正在PARTIAL_WAKE_LOCK为我的MediaPlayer实例设置一个:
mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
我怎样才能释放它?它完成了MediaPlayer.release()吗(我在文档中看不到任何相关内容)?
它于MediaPlayer.release()、MediaPlayer.stop()和发布MediaPlayer.reset()。它也已发布onCompletion和onError.
浏览这里的源代码MediaPlayer:
看起来MediaPlayer.stayAwake()是负责任的,这将释放唤醒锁。
private void stayAwake(boolean awake) {
if (mWakeLock != null) {
if (awake && !mWakeLock.isHeld()) {
mWakeLock.acquire();
} else if (!awake && mWakeLock.isHeld()) {
mWakeLock.release();
}
}
mStayAwake = awake;
updateSurfaceScreenOn();
}
这是一个私有方法,但它在各种状态下被调用,例如 inrelease() stayAwake(false)被调用。
只需搜索一下mWakeLock,stayAwake(false)您就会看到。我还检查了 1.5,它是一样的。