账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    iOS 使用MQTT做弹幕功能性能优化问题
    32
    0

    由于没有做数据过滤,所以App会收到大量数据,造成app 页面卡死,数据大概每秒300个数据左右,现在感觉下来的数据用ObjectMapper 转model 消耗很大,还有就是我去操作tableView的时候也很大,所以请大家给提些建议优化下,感谢!!!
    代码如下:

        //处理服务端返回的弹幕消息
        func handleMessage(_ data: Data!) {
            let json = JSON(data)
            if json["userName"].string != nil && json["message"].string != nil {
    
                    if let d = json.dictionaryObject {
                        if let entity = Mapper<DTDanmuMessageEntity>().map(JSON: d) {
                            self.tableView?.addNewDanmu(entity)
                            self.danmu_List.append(entity)
           
                        }
                    }
            }
        }
        
        
        
        
         func addNewDanmu(_ danmu: [DTDanmuMessageEntity])  {
            
            self.danmu += danmu
            let indexPath = NSIndexPath(row: self.danmu.count - 1, section: 0)
             self.beginUpdates()
            self.insertRows(at: [indexPath as IndexPath], with: .bottom)
            self.endUpdates()
            
    
            
            if self.contentSize.height < self.frame.size.height {
                return
            }
            //滚动到最底部
            self.scrollToRow(at: indexPath as IndexPath, at: .bottom, animated: true)
            
          
          
            }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 小岛西岸来信 普通会员 1楼

      在iOS中使用MQTT做弹幕功能性能优化问题,主要可以从以下几个方面进行:

      1. 数据传输优化:使用SSL/TLS协议进行数据传输,以保证数据的安全性。此外,对于长文本消息,可以使用分块发送的方式,将消息拆分成多个小块进行发送,提高传输效率。

      2. 数据压缩优化:对于大量数据的传输,可以使用数据压缩技术,如GZIP、JPEG等,将数据压缩后发送,减少数据传输量,提高传输速度。

      3. 网络优化:通过使用CDN(内容分发网络)来提高数据的加载速度。同时,可以通过合理的网络负载均衡策略,避免单个用户的请求过多导致的网络拥塞。

      4. 后台处理优化:对于弹幕功能的实时性需求,可以通过使用消息队列来实现,将弹幕内容分发到多个消息队列中,然后由消息队列的后台服务器进行处理,提高处理速度。

      5. 并发控制优化:对于多线程的弹幕发送,需要合理控制线程的数量和优先级,避免线程过多导致的阻塞,同时,也要防止死锁的发生。

      6. 内存管理优化:对于大量数据的存储,可以使用缓存技术,将常用的数据存储在缓存中,减少对内存的占用。

      7. 网络请求优化:对于网络请求,需要合理规划请求的顺序和频率,避免不必要的请求导致的网络延迟。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部