在我的 Android 应用程序中,我使用 AlarmManager 每 3 秒唤醒一次我的服务。当服务运行时,它会检查某些条件,然后在满足条件时播放声音。
我发现,如果我让我的设备处于睡眠模式 24 小时,然后做一些导致事件触发的事情,服务似乎确实可以工作并播放声音。但是,如果我将其放置更长的时间,例如 2 天,该事件确实会引起注意,但不会立即播放声音。声音响起之前可能需要一分钟。
这告诉我该服务仍在运行,尽管我不确定它是否每 3 秒运行一次。如果它每 3 秒运行一次,那么睡眠模式可能会阻止声音系统立即激活并需要时间唤醒,即使它们是服务和播放声音的部分代码的部分唤醒锁。
我的问题是 Android 是否会在睡眠模式下减慢 CPU 的速度。我确实连接了一根电缆,所以它一直在供电。但我想知道较慢的 CPU 周期是否可以解释为什么声音需要更长的时间才能启动。
另一种可能性是可能存在导致系统速度变慢的内存泄漏。我将不得不在睡眠模式下运行应用程序大约 4 天,看看时间是否增加才能知道这是否属实。