我在日志中收到消息如下,然后应用程序正在死亡:
Excessive wake lock in domain.mobile.app.MusicPlayer pid zzz held xxxx during yyyy
我的应用程序是音乐播放器。我没有在初始版本中获得任何唤醒锁定,并且玩家不停地玩几个小时。然后我决定让事情变得聪明并添加唤醒锁。到目前为止,玩家没有改变播放模式,如果我播放大音乐片段,例如持续时间为74分钟的CD图像。但是,如果我在轨道上分割图像并释放并获得每个单独轨道的锁定,我会在播放30分钟后大约收到一条消息,并且我的应用程序会被弹出。作为解决方法,我可以简单地回到原来的想法,不要使用锁。然而,我得到了一个好奇心,为什么它以这种方式表现,错误信息中的数字意味着什么,也许它会给我一些线索。 更多细节:我获得PARTIAL_WAKE_LOCK一次,然后在更换曲目时使用获取和释放。
有趣的是,有些绅士抱怨停止应用在这里进行网络通信Application running in background getting closed due to Excessive Wake lock error 我有一个解决方案,因为在我的情况下,手机可以保持连接处于活动状态数小时,但不幸的是我没有回答问题。
系统的注意力专家主持人,我非常尊重你的经验和令人难以置信的脑力,但更聪明,不要试着指出一些其他问题,并告诉它是重复的,好吗? / p>
答案 0 :(得分:0)
所以我遇到了同样的问题。经过一番搜索,我找到了this,之后又发现了dat。因此,如果您正在使用服务进行播放(您可以这么做),那么请在服务中
public int onStartCommand(Intent intent, int flags, int startId) {
// write at the end
return START_STICKY; }
//instead of the default
return super.onStartCommand(intent, flags, START_STICKY);
}
我正在测试,因为我键入了这个,到目前为止一切似乎都没问题(成功播放了7首没有中断的歌曲)。
编辑:
如果操作系统决定这样做,可能会被杀死。事故发生......