如何停止一个正在队列或正在运行的runable和message

来源:互联网 发布:淘宝游戏交易平台 编辑:程序博客网 时间:2024/05/29 04:37

http://uule.iteye.com/blog/1705951

讲的很详细


public final void removeCallbacks (Runnable r)移除那些在消息队列等待的对象.
public final void removeCallbacks (Runnable r, Object token)
public final void removeCallbacksAndMessages (Object token)
public final void removeMessages (int what)移除那些在消息队列中以'what'所指向的消息
public final void removeMessages (int what, Object object)移除那些在消息队列中以'what'所指向的消息和目标为'object'的对象


调用方法如:

对于如何获得可操作的ruanble对象可看上一篇

timer.removeCallbacks(runnable);

在这里 timer是一个handle 而且必须是 post 你要停止的runable的的handle

也就是说 只能停止timer里面的runable 别的handler里面的runable和message是不行的


补充

timer.removeCallbacksandMessage(null);

可以停止掉timer里面所有的runable和message。。。

0 0