如何阻止handler的消息处理
程序员文章站
2022-07-14 19:02:24
...
*本次的文章介绍,如何阻止handler的消息处理,是来源于自己写的小程序中,在一个界面中需要反复向服务端发送某个请求,而当这个界面被切换到另一个界面的时候,该hander的handlermessage就不能再处理该类信息,如下面所示:
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==1)
{
//更新UI 代码省略
queryhistorytrack();//请求访问服务器
}
}
};
private void queryhistorytrack()
{
//请求服务器接收信息,接受完信息之后,通知主线程更新UI
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message,15000);
//延迟15秒发送信息
}
//如何组织上面的handlermessage,在activity切换时
//在activity那个主类中onStop方法中
@Override
protected void onStop(){
super.onStop();
handler.removeMessages(1);
//在消息队列中remove 1这种信息,就可以中断处理
}
至于为什么onStop阻止,可以看一下activity的生命周期
handler详细教程
上一篇: python 编码问题
下一篇: python编码问题1