我编写了一个处理程序,每隔一段时间调用该方法.我想在destroy()中删除该处理程序.我用的代码如下,In Oncreate()
private final Handler _handler = new Handler();
public int DATA_INTERVAL = 30 * 1000;
Runnable getData;
getData = new Runnable()
{
@Override
public void run()
{
recieveData();
}
};
_handler.postDelayed(getData, DATA_INTERVAL);
Run Code Online (Sandbox Code Playgroud)
在ondestroy()中,我使用,
_handler.removeCallbacks(getData);
Run Code Online (Sandbox Code Playgroud)
但removecallbacks不起作用.它在退出活动后调用.
删除消息队列中Runnable r的所有待处理帖子.
因此,removeCallbacks(..)
只停止当前未运行runnable的待处理消息(Runnables),因此如果要停止当前运行Runable,则在用户从应用程序退出时对Stoping Thread使用布尔变量.
看到这篇文章的removeCallbacks没有停止runnable
归档时间: |
|
查看次数: |
15607 次 |
最近记录: |