使用Timer定期执行AsyncTask

时间:2014-03-05 10:32:37

标签: android timer background android-asynctask

我正在使用Timer定期下载AsyncTask一些数据(每分钟一次),而应用程序位于前台。

当应用程序移至后台时,我读到如果您的设备上正在运行任何其他占用内存的应用程序,则可以“杀死”计时器。

  1. 因此,如果我回到我的应用程序,我需要重新启动计时器,但前提是它已被杀死。如果计时器被杀,计时器是null吗?我怎么能发现这个?

  2. 另一种方法是当应用程序转到后台时停止计时器,然后在应用程序转到前台时启动计时器。是否有任何方法可以检测应用程序何时从/向后台移动到/从背景移动?

1 个答案:

答案 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.
    }