Android - 如何终止应用程序超级干净

时间:2015-10-30 13:14:00

标签: android android-activity android-lifecycle

我有一个相当复杂的应用,在很多情况下会在post上调用postDelayedHandler方法。到目前为止,一切都很好。

但是,我担心当Android决定暂停/终止活动时,我可能还有一些非常重要的任务待执行。忽略它们会影响数据的完整性。

我知道onPause类上的onDestroyActivity调用,我已经将它们用于正常清理。但我不确定如何处理Handler对象中的待处理内容。

我是否应该以某种方式从Handler获取所有待处理的并通过坐在onPause/onDestroy内的循环中显式调用它们的run方法? 要么 Android是否有处理此方案的标准方法?

我非常需要关于这个问题的一些指导。 请帮忙。

-Androbean

2 个答案:

答案 0 :(得分:0)

别无他法。 LifeCycle方法(onPause / Stop / Destroy)是标准方案。在那里,您可以清除所有可运行对象的回调:

Runnable runnable = new Runnable() {
        @Override
        public void run() {
        }
    };
handler.postDelayed(runnable, 100);
handler.removeCallbacks(runnable);

所以,它永远不会调用(如果它仍在等待运行)。

答案 1 :(得分:0)

首先,您必须了解活动的生命周期。 http://developer.android.com/intl/es/training/basics/activity-lifecycle/starting.html

不要寻找魔术,只要假设系统为您提供并选择合适的设计。