如何处理活动延迟 android
How to handle delay in activites android
我遇到了一个问题,希望有人能给我一个解决方案。我正在使用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
}});
延迟某些任务正常工作的方法。但在延迟完成之前,如果我回击它的崩溃,因为任务需要完成是期待已经关闭的 activity 的上下文。谁能帮我解决这个问题?
谢谢
您必须添加 on-back pressed 事件,那时您已停止所有进程,因此崩溃问题消失了。
如果您仍然感到困惑,请添加您的代码,以便我可以帮助您。
保存对 Runnable
的引用并在您的生命周期方法之一中使用 Handler#removeCallbacks(...)
,可能是 onPause()
。如果任务需要超过 activity,请将其移至 Service
。
您可以通过以下代码在返回之前从处理程序中删除回调:
myHandler.removeCallbacks(yourRunnableInstance); // it will remove particular this Runnable
myHandler.removeCallbacksAndMessages(null); // it will remove all Runnable from the handler
您可以在 onPause() 方法中执行此代码。
我遇到了一个问题,希望有人能给我一个解决方案。我正在使用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
}});
延迟某些任务正常工作的方法。但在延迟完成之前,如果我回击它的崩溃,因为任务需要完成是期待已经关闭的 activity 的上下文。谁能帮我解决这个问题?
谢谢
您必须添加 on-back pressed 事件,那时您已停止所有进程,因此崩溃问题消失了。
如果您仍然感到困惑,请添加您的代码,以便我可以帮助您。
保存对 Runnable
的引用并在您的生命周期方法之一中使用 Handler#removeCallbacks(...)
,可能是 onPause()
。如果任务需要超过 activity,请将其移至 Service
。
您可以通过以下代码在返回之前从处理程序中删除回调:
myHandler.removeCallbacks(yourRunnableInstance); // it will remove particular this Runnable
myHandler.removeCallbacksAndMessages(null); // it will remove all Runnable from the handler
您可以在 onPause() 方法中执行此代码。