Android:在每个“onCreate”方法中实例化的Java计时器

Android:在每个“onCreate”方法中实例化的Java计时器,java,android,timer,timertask,Java,Android,Timer,Timertask,我正在开发一款Android游戏,但我面临的问题是,当用户暂停游戏,然后想通过重新启动应用程序来继续,而不是从RAM访问应用程序时,每次都会再次实例化同一个计时器 这是我的计时器: public void createTimers() { timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiT

我正在开发一款Android游戏,但我面临的问题是,当用户暂停游戏,然后想通过重新启动应用程序来继续,而不是从RAM访问应用程序时,每次都会再次实例化同一个计时器

这是我的计时器:

public void createTimers() {
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
//Stuff here
                    }
                });
            }
        }, 0, 1000 / 60);
因此,每当用户启动或重新启动应用程序时,当应用程序仍在RAM中时,都会执行:

Timer timer = new Timer();
createTimers();
通过这种方式,玩家可以通过按下hombe按钮滥用计时器,然后反复启动应用程序,因为每次都会有更多的计时器任务! 在安卓系统中,我得到了这些:

@Override
protected void onPause() {
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
}
方法,但如果我在onPause中使用timer.cancel,则名为timer的整个计时器将被取消,应用程序在RAM中启动时将抛出异常

我还尝试了递归调用它们自己的处理程序和可运行程序,但是当我在循环中进行一些繁重的计算时,它减慢了循环的速度,不像这里,它是一个固定的速率!
帮助请:S

我现在让它与ScheduledExecutorService一起工作,它可以在触发onPause时关闭,在触发onResume时再次实例化get。

我读了一遍,但它并没有真正解决问题。我的问题不是计时器本身,而是我必须在我的onCreate方法中创建计时器,这导致了问题,即再次启动该应用程序,然后运行两个计时器!现在使用ScheduledExecutorService进行了尝试,结果相同。