看来,如果在手机屏幕锁定时某个活动在前台,广播事件和/或唤醒锁将导致该活动的 onResume 被调用,无论它们是否用于您的应用程序。即使您不以任何方式与手机互动,也会发生这种情况。不要解锁,不要触摸,不要做任何事情,你的 onResume 会被一遍遍的调用,没有对应的 onPause。
我们注意到这一点是因为我们在 onResume 上记录了一个跟踪事件,并且我们注意到一些设备收到了大量这些 onResume 事件。我们能够重现并注意到每当任何应用程序似乎接收到意图时都会发生这种情况(例如 SugarSync、Google Voice 或我们自己的应用程序中的被动位置侦听器)。
我们在运行 ICS 的 Galaxy Nexus 和 Galaxy S3 上注意到了这一点。有趣的是,我们无法在 Jelly Bean 上重现该问题。
有人对这里可能发生的事情有任何指示吗?