首页 > 解决方案 > TimerTasks 似乎在按下“返回”按钮后恢复应用程序后被取消

问题描述

我有一个应用程序,它会定期闪烁一些文本。为了实现我使用的任务TimerTimerTask. 一切正常,直到我按下back手机上的按钮并返回主启动器屏幕。该应用程序已暂停,但在我从启动器屏幕恢复后,似乎 my Timer, 不再打勾,文本不闪烁。这是否意味着TimerTasks在暂停应用程序时所有的都会被取消?如果是这样,如何恢复它们?问题是即使我再次调用定时器初始化函数,也没有任何反应!下面是设置定时器的代码:

  Timer textRockerTimer;
  TimerTask timerTask11;
  TimerTask rockerTask;

  ...

  private void textRocker() {
    textRockerTimer = new Timer();
    if(rockerTask != null) rockerTask.cancel();
    rockerTask = new TimerTask() {
        @Override
        public void run() {
            serviceThreadsEs.execute(new Runnable() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            scaleFadeText(datesFadeDirection);
                            datesFadeDirection ^= true;
                        }
                    });
                }
            });
        }
    };
    textRockerTimer.schedule(rockerTask, 500 ,datesFadePeriod+150);

编辑:我发现了一个奇怪的现象:当我声明textRockerTimer和as时timerTask11,一切都开始工作了!有人知道为什么吗?相反,如果我将所有这些计时器放在一个 中,将其声明为并从中使用计​​时器,那么情况正好相反。只有当我删除工作时,一切才有效。没有任何工作。我很困扰。rockerTaskstaticArrayListArrayListstaticstaticstatic

标签: androidtextviewtimertaskandroid-timer

解决方案


推荐阅读