我正在使用Timer
定期下载AsyncTask
一些数据(每分钟一次),而应用程序位于前台。
当应用程序移至后台时,我读到如果您的设备上正在运行任何其他占用内存的应用程序,则可以“杀死”计时器。
因此,如果我回到我的应用程序,我需要重新启动计时器,但前提是它已被杀死。如果计时器被杀,计时器是null
吗?我怎么能发现这个?
另一种方法是当应用程序转到后台时停止计时器,然后在应用程序转到前台时启动计时器。是否有任何方法可以检测应用程序何时从/向后台移动到/从背景移动?
答案 0 :(得分:0)
在重新启动应用时覆盖onRestart
方法,或者像这样覆盖前景:
@Override
protected void onRestart() {
super.onRestart();
//Cancel your timer and then restart with your code.
timer.cancel()
//start timer with your existing code.
}