【发布时间】:2012-08-23 01:16:04
【问题描述】:
我正在我的应用程序的第一个屏幕上启动计时器。问题出在手机进入睡眠状态时。 Timer 触发的动作无法访问网络,导致应用崩溃。 我的解决方案是在手机进入睡眠状态时停止/重新启动计时器。
那么有没有我可以从 Application 类中实现的方法,例如 onLowMemory() 或 onTerminate()。 onSleep() 和 onWake() 会很好:)
【问题讨论】:
我正在我的应用程序的第一个屏幕上启动计时器。问题出在手机进入睡眠状态时。 Timer 触发的动作无法访问网络,导致应用崩溃。 我的解决方案是在手机进入睡眠状态时停止/重新启动计时器。
那么有没有我可以从 Application 类中实现的方法,例如 onLowMemory() 或 onTerminate()。 onSleep() 和 onWake() 会很好:)
【问题讨论】:
在您的第一个屏幕的Activity 代码中,您可以覆盖onStop 或onPause 并在那里取消您的计时器。选择最适合您的目的。
然后,您可以在调用 onResume 或 onStart 时重新启动计时器。
【讨论】:
Application 上下文访问该计时器。如果您只有第一个屏幕上的计时器,那么我猜这是您唯一需要这样做的地方。