AnyChat技术支持论坛

标题: anychat sdk 引起闪退问题 [打印本页]

作者: 博大的海    时间: 2013-8-5 16:59
标题: anychat sdk 引起闪退问题
偶然会在视频结束以后,导致我们的程序退出,没有异常日志打出,也无法跟踪到原因,想问一下,这种情况一般是由于哪方面原因引起的?
作者: admin    时间: 2013-8-5 17:13
您好,程序异常退出,在Logcat中都会有堆栈信息输出的,可以自己加一些额外的调试信息,看是执行到哪一步然后就中止了,可以多加一些日志输出,另外退出的概率高吗?

通常来说,可能出现问题的地方有摄像头的关闭操作,可以加一些log输出重点关注一下。
作者: admin    时间: 2013-8-5 17:15
另外建议您更新SDK到最新的版本V1.8,需要更新src目录下的源文件,和libs目录下的动态库。新版本在兼容性方面有优化。
作者: 博大的海    时间: 2013-8-5 17:17
退出的概率,不高。关键是就没打出日志。关闭摄像头的地方,加上的有日志的,也没打印。
作者: 博大的海    时间: 2013-8-5 18:35
调用sdk的函数lLeaveRoom后,会不会出现退出房间失败的情况?
另外如果程序意外崩溃,可能导致没调用lLeaveRoom函数,这时候,服务器端能否检测到用户已经离开,在这种特殊情况,该如何处理?
作者: admin    时间: 2013-8-5 18:58
调用sdk的函数lLeaveRoom后,会不会出现退出房间失败的情况?
您好,客户端调用LeaveRoom,不会发生退出房间失败的情况。
  1. <span style="line-height: 1.5;">另外如果程序意外崩溃,可能导致没调用lLeaveRoom函数,这时候,服务器端能否检测到用户已经离开,在这种特殊情况,该如何处理?</span>
复制代码
客户端程序的意外崩溃,服务器会通过心跳机制检测到网络掉线,然后顺序触发上层的回调用函数:OnUserLeaveRoomAction、OnUserLogoutAction,所以服务器只需要按正常的流程处理用户离开房间、注销等事件即可。


作者: 博大的海    时间: 2013-8-8 09:25
多次调用lLeaveRoom 和Release,会有什么后果?
作者: admin    时间: 2013-8-8 09:31
多次调用LeaveRoom、Release理论上是没有问题的,AnyChat内核会自动判断是否为重复调用。但是建议Release只调用一次,在整个程序关闭时调用,LeaveRoom可以重复调用。

另外Release调用之后,需要重复调用初始化(InitSDK)的接口。
作者: 博大的海    时间: 2013-8-8 09:41
另外问一点,在不确定是否进入房间的情况下,在ondestroy 调用anychat.LeaveRoom(-1);会不会引起其他问题?这样做主要是在几个activity处理,可能存在进入房间延迟退出问题。
作者: admin    时间: 2013-8-8 09:46
建议在LeaveRoom之前,先关闭本地的音视频设备:
  1. UserCameraControl(userid, 0);
  2. UserSpeakControl(userid,0);
复制代码
通常来说,只要音视频设备关闭,在什么时候调用LeaveRoom应该都是安全的。




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3