我有一个相当复杂的应用程序,它在很多情况下调用Handler上的post或postDelayed方法。到目前为止,一切都运行正常。
但是,我担心当Android决定暂停/终止活动时,我可能仍然有一些非常重要的任务等待执行。仅仅忽略它们就会影响数据的完整性。
我知道Activity类上的onPause和onDestroy调用,并且我已经将它们用于正常的清理。但是我不确定应该如何处理Handler对象中挂起的内容。
我是不是应该以某种方式从处理程序中获取所有挂起的函数,并通过在onPause/onDestroy内的循环中显式调用它们的run方法?或者Android有处理这种情况的标准方法吗?
在这个问题上,我非常需要一些指导。请帮帮忙。
-Androbean
发布于 2015-10-30 21:37:43
别无他法。LifeCycle方法(onPause/Stop/Destroy)是一个标准场景。在那里,您可以清除所有runnable对象的回调:
Runnable runnable = new Runnable() {
@Override
public void run() {
}
};
handler.postDelayed(runnable, 100);
handler.removeCallbacks(runnable);因此,它永远不会调用(如果它仍在等待运行)。
发布于 2015-10-31 19:15:38
首先,你必须了解活动的生命周期是怎样的。http://developer.android.com/intl/es/training/basics/activity-lifecycle/starting.html
不要寻找魔术,只要假设系统给你什么,并选择一个合适的设计即可。
https://stackoverflow.com/questions/33436882
复制相似问题