zoukankan      html  css  js  c++  java
  • CSipIm断网重连崩溃原因分析

    断网重连之后的操作流程

      拨打电话

    ->调用SipService.makeCallOptions(),先重启一遍SipService保证PjSipService的各参数正常,尤其是create参数置为true;再发送broadcast处理拨号信息

    ->SipService中的Receiver接收到broadcast,在内部用全局Handler接收SipRunnable执行底层拨号操作

    原因分析

    此时由于Handler从旧的MessagePool中获取到的消息赋值之后,SipService才执行完重启操作,而重启之后的MessagePool中重新置为0,(可参考SipService.SipServiceExecutor的countId参数);这样新发送的Message在handleMessage()中就无法获取到正常的Message,于是某些三星或小米手机认为消息队列异常报错!

  • 相关阅读:
    Day10
    Day9
    Day8
    Day7
    Day 6
    Day5
    第一周计划
    事件总线模式辨析
    解释器模式辨析
    解释器模式深度探究
  • 原文地址:https://www.cnblogs.com/BobGo/p/7810175.html
Copyright © 2011-2022 走看看