Android MediaPlayer语言 - 睡眠行为



我有一个应用程序,播放音频流从服务器(或本地)。

根据我们所看到的*,如果通过后台服务播放音频,音频将继续播放。然而,一些用户报告说,当他们的设备进入睡眠状态时,音频会停止。我没有看到任何关于睡眠时音频行为的文档,当然API文档没有提到任何东西:http://developer.android.com/reference/android/media/MediaPlayer.html。是否有任何保证,MediaPlayer将继续播放,而睡眠,如果不是,我应该启用WAKE_LOCK,而播放?

*(这个问题似乎支持它:Android 2.3.3在睡眠/待机模式下播放音乐)

我不认为设置唤醒锁会很重要,以我的经验,它与保持服务存活无关。Android服务文档指出,不使用startForground()方法的服务可以被杀死以释放内存。很可能是服务被终止以释放资源,或者是一个异常导致它无声地崩溃。

如果你的应用程序进入后台,它可能会被操作系统杀死。这是最有可能发生的事情。通过使用startForeground()使Service成为前台服务,可以大大减少发生这种情况的可能性。wake lock是没有用的。在内存紧张的情况下,前台服务可能会被杀死,但这在手机处于睡眠状态时是不太可能发生的。

最新更新