android - TimerTasks 似乎在按下“返回”按钮后恢复应用程序后被取消
问题描述
我有一个应用程序,它会定期闪烁一些文本。为了实现我使用的任务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
解决方案
推荐阅读
- python - 使用 Python 将 .csv 文件加载到 Apache Cassandra 的问题
- html - 是否可以在另一个 z 索引元素中独立设置 z 索引?
- javascript - 如何在javascript中使图片再次可拖动?
- spring-boot - Spring Boot 云原生应用程序是否需要 Spring Cloud Kubernetes?
- azure-devops - 访问私有 Nuget 提要时出错
- vue.js - 导航栏后面的内容
- python - 一个新的类方法的__self__ 仍然引用以前的类?
- okhttp - OkHttp 不保持空闲连接以保持活动状态
- flutter - 将列添加到底部应用栏使其全屏显示
- grails - Grails 我不明白如何将异步与数据服务一起使用