我有一个应用程序,它会定期闪烁一些文本。为了实现我使用的任务Timer
和TimerTask
. 一切正常,直到我按下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
,一切都开始工作了!有人知道为什么吗?相反,如果我将所有这些计时器放在一个 中,将其声明为并从中使用计时器,那么情况正好相反。只有当我删除工作时,一切才有效。没有任何工作。我很困扰。rockerTask
static
ArrayList
ArrayList
static
static
static