CSipIm断网重连崩溃原因分析
Posted 星城之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSipIm断网重连崩溃原因分析相关的知识,希望对你有一定的参考价值。
断网重连之后的操作流程
拨打电话
->调用SipService.makeCallOptions(),先重启一遍SipService保证PjSipService的各参数正常,尤其是create参数置为true;再发送broadcast处理拨号信息
->SipService中的Receiver接收到broadcast,在内部用全局Handler接收SipRunnable执行底层拨号操作
原因分析
此时由于Handler从旧的MessagePool中获取到的消息赋值之后,SipService才执行完重启操作,而重启之后的MessagePool中重新置为0,(可参考SipService.SipServiceExecutor的countId参数);这样新发送的Message在handleMessage()中就无法获取到正常的Message,于是某些三星或小米手机认为消息队列异常报错!
以上是关于CSipIm断网重连崩溃原因分析的主要内容,如果未能解决你的问题,请参考以下文章
delphi idhttp在ADSL断网重连后会出错,是怎么回事?