默认
发表评论 10
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助iOS XMPPFramework在聊天室很多的情况下卡顿问题
阅读(48996) | 评论(10 收藏 淘帖
求助iOS XMPPFramework在聊天室很多的情况下卡顿问题_xmpp.png
- (void)initRoomFromGroupsNSArray *)groups
{
    if ([self.xmppRooms count] == 0) {
        for (ChatGroup *group in groups) {

            XMPPJID *roomJID = [XMPPJID jidWithString:[NSString stringWithFormat"%@@conference.%@",group.qid,xmppStream.myJID.domain]];

            XMPPRoom *room = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];
            /*workingQueue是个串行队列  workingQueue = dispatch_queue_create("IMWorkingQueue", NULL);*/
            [room addDelegate:self delegateQueue:workingQueue];
            [room activate:xmppStream];

            [self.xmppRooms addObject:room];
        }
    }

    for (XMPPRoom *room in self.xmppRooms) {
        [self joinRoom:room];
    }

#warning check the xmppRoom is join
    [self checkXmppRoomsIsJoined];
}


在聊天室太多的时候,我用AFN请求数据,AFN的结果回调会在join完全部room之后才会返回,求大神指点



即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:XMPP
上一篇:[讨论]Android端消息推送服务是否需要多开进程下一篇:ios端即时通讯应用的聊天信息的储存怎么做比较好
推荐方案
评论 10
引用:JackJiang 发表于 2017-08-01 17:48
这可够蛋疼的,这lib是哪找来的,bug没有有碰到过?

什么lib?没理解问题
引用:Zhusz 发表于 2017-08-01 17:39
查出问题了,是xmpp队列的问题,代码中要一处地方队列错误使用了main_queue,多些热情的版主

这可够蛋疼的,这lib是哪找来的,bug没有有碰到过?
引用:JackJiang 发表于 2017-07-28 18:00
那你就用xcode的profile工具,准确定位卡在什么方法里

查出问题了,是xmpp队列的问题,代码中要一处地方队列错误使用了main_queue,多些热情的版主
引用:Zhusz 发表于 2017-07-28 17:51
网络请求用AFNetworking框架,请求应该是有新开一个异步线程的,XMPP的joinRoom这一块代码试过放在GCD的 ...

那你就用xcode的profile工具,准确定位卡在什么方法里
引用:vincentfutux 发表于 2017-07-28 17:40
还有折腾xmpp,都过时了都

没办法,公司技术选型就是这个,只能用啊
引用:JackJiang 发表于 2017-07-28 17:39
网络这一块的代码肯定是要放在异步线程里的,否则肯定会导致UI卡顿,你把微信卸载再重新登陆看看它的数据 ...

网络请求用AFNetworking框架,请求应该是有新开一个异步线程的,XMPP的joinRoom这一块代码试过放在GCD的异步线程里面,效果差不多,我今晚重新试试,也看看微信什么效果,顺便看看是不是队列的影响吧
还有折腾xmpp,都过时了都
签名: 该会员没有填写今日想说内容.
引用:Zhusz 发表于 2017-07-28 17:37
iOS 客户端界面卡顿,当所有聊天室都加一遍之后就正常了

网络这一块的代码肯定是要放在异步线程里的,否则肯定会导致UI卡顿,你把微信卸载再重新登陆看看它的数据加载过程就知道了。

有放到异步线程吗
引用:JackJiang 发表于 2017-07-28 17:31
你说的卡顿是指ios客户端的界面卡还是服务端卡了?

iOS 客户端界面卡顿,当所有聊天室都加一遍之后就正常了
你说的卡顿是指ios客户端的界面卡还是服务端卡了?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部