即使应用程序在 android 中被杀死,处理程序实例如何运行可运行的?

How the handler instance runs a runnable even the app is killed in android?

在我的应用程序中,我在 MainActivity 中有一个处理程序。在此处理程序中,我从本地数据库获取时间戳值,将其值更改为当前时间戳并更新本地数据库。此事件每 2 分钟发生一次。

我的问题是当我的应用被终止时,本地数据库不应该被更新。但是,即使我的应用程序被终止并更新本地数据库中的时间戳值,处理程序中的代码也会运行。因此,当我再次打开该应用程序时,它不会提供我的应用程序被终止之前存储在数据库中的最后一个时间戳值。

当我终止我的应用程序时如何停止处理程序?如果向我解释处理程序的确切工作原理是值得的。

源代码:

    addEventHandler.postDelayed(new Runnable() {
        @Override
        public void run() {
                mockSpeedEventHandler.postDelayed(this, realTimeEventFrequency * 60 * 1000);
        }
    }, 60000);

我不确定您为什么要使用 2 个处理程序,但假设运行的代码是由第二个处理程序触发的。解决方案应该是同时停止 addEventHandler 和 mockSpeedEventHandler。