如何处理活动中的延迟android

时间:2015-11-05 05:46:50

标签: android performance android-activity android-context

我遇到了一个问题,希望有人建议我一个解决方案。我正在使用

new Handler().postDelayed(new Runnable() {
                                @Override
                                public void run() {
}});

延迟某些任务的方法很好。但是在延迟完成之前如果我回击它的崩溃,因为任务需要完成,期望已经关闭的活动的上下文。有人可以帮我解决这个问题吗?

由于

3 个答案:

答案 0 :(得分:0)

你必须添加背靠后按下的事件,那时你已经停止所有过程,所以崩溃的问题都消失了。

如果您仍然感到困惑,请添加您的代码,以便我们为您提供帮助。

答案 1 :(得分:0)

保存对Runnable的引用,并在您的一个生命周期方法中使用Handler#removeCallbacks(...),可能是onPause()。如果任务需要比活动更长,请将其移至Service

答案 2 :(得分:0)

您可以在返回之前通过以下代码删除处理程序中的回调:

myHandler.removeCallbacks(yourRunnableInstance); // it will remove particular this Runnable

myHandler.removeCallbacksAndMessages(null); // it will remove all Runnable from the handler

你可以在onPause()方法中执行此代码。