解密 - 过度唤醒锁定

时间:2013-09-12 04:34:15

标签: android powermanager

我在日志中收到消息如下,然后应用程序正在死亡:

 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>

1 个答案:

答案 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首没有中断的歌曲)。

编辑:

如果操作系统决定这样做,可能会被杀死。事故发生......

相关问题