手机休眠时停止定时器
Posted
技术标签:
【中文标题】手机休眠时停止定时器【英文标题】:Stopping Timer when phone sleeps 【发布时间】:2012-08-23 01:16:04 【问题描述】:我正在我的应用程序的第一个屏幕上启动计时器。问题出在手机进入睡眠状态时。 Timer 触发的动作无法访问网络,导致应用崩溃。 我的解决方案是在手机进入睡眠状态时停止/重新启动计时器。
那么有没有我可以从 Application 类中实现的方法,例如 onLowMemory() 或 onTerminate()。 onSleep() 和 onWake() 会很好:)
【问题讨论】:
【参考方案1】:在您的第一个屏幕的Activity
代码中,您可以覆盖onStop
或onPause
并在那里取消您的计时器。选择最适合您的目的。
然后,您可以在调用 onResume
或 onStart
时重新启动计时器。
【讨论】:
即使我在不同的活动中,这也能工作吗?还是我必须覆盖每个 Activity 的 onResume/start。 您可以制作一个静态计时器,您可以通过Application
上下文访问该计时器。如果您只有第一个屏幕上的计时器,那么我猜这是您唯一需要这样做的地方。
好的,我会走静态路线。感谢您的快速答复。
我仍然有问题,我无法停止计时器 --' 它是静态的,我正在以静态方式访问它,但是当我执行 .cancel() 和 .purge()计时器内的 Log.w() 仍然显示在 logcat 上。怎么了?
如果您发布代码的 sn-p,我将编辑我的答案并提出一些建议以上是关于手机休眠时停止定时器的主要内容,如果未能解决你的问题,请参考以下文章