Android 倒计时计时器在后台停止运行

Android 倒计时计时器在后台停止运行,android,timer,continue,Android,Timer,Continue,我在我的一个应用程序中实现了一个倒计时。它在后台运行得很好,但是当我使用advanced task killer时,它会停止计时器,重新启动它的唯一方法是再次打开应用程序。即使我使用了高级任务杀手之类的东西,计时器是否仍然存在 代码: 据我所知-没有,因为任务杀手破坏了应用程序的进程,导致任何正在运行的线程退出,而不是在计时器是应用程序的一部分时退出。当然,您可以制作一个不属于应用程序的计时器 此外,假设它确实在上述“任务杀手”中持续存在,它将在下一个滴答声中崩溃,因为它引用了在强制关闭活动时被

我在我的一个应用程序中实现了一个倒计时。它在后台运行得很好,但是当我使用advanced task killer时,它会停止计时器,重新启动它的唯一方法是再次打开应用程序。即使我使用了高级任务杀手之类的东西,计时器是否仍然存在

代码:


据我所知-没有,因为任务杀手破坏了应用程序的进程,导致任何正在运行的线程退出,而不是在计时器是应用程序的一部分时退出。当然,您可以制作一个不属于应用程序的计时器

此外,假设它确实在上述“任务杀手”中持续存在,它将在下一个滴答声中崩溃,因为它引用了在强制关闭活动时被破坏的UI元素。这很有意义。我只是好奇。谢谢你的意见。也许在这条线上的某个地方,有人会遇到这个问题,它会回答他们的问题。我从来没想过。你能把它扩展一下吗?那取决于你想要什么。例如,你可以制作一个计时器服务,你的应用程序可以在其中注册一个计时器事件,当事件发生时,该服务将进行回拨-可能通过广播,也可能通过发送意图。如果应用程序没有运行,你甚至可以让它重新启动应用程序。有趣。我会搞砸的,看看会发生什么。我从来没有考虑过这个。
    TextView tv;
    final MyCounter timer = new MyCounter(10000,1000);

    tv  = (TextView)findViewById(R.id.healthtext);
    tv.setText("10"); 
    timer.start();
}

public class MyCounter extends CountDownTimer{

    public MyCounter(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onFinish() {
        Toast.makeText(getApplicationContext(), "death", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onTick(long millisUntilFinished) {
        tv.setText((millisUntilFinished/1000)+"");