- 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做弹幕功能性能优化问题,主要可以从以下几个方面进行:
-
数据传输优化:使用SSL/TLS协议进行数据传输,以保证数据的安全性。此外,对于长文本消息,可以使用分块发送的方式,将消息拆分成多个小块进行发送,提高传输效率。
-
数据压缩优化:对于大量数据的传输,可以使用数据压缩技术,如GZIP、JPEG等,将数据压缩后发送,减少数据传输量,提高传输速度。
-
网络优化:通过使用CDN(内容分发网络)来提高数据的加载速度。同时,可以通过合理的网络负载均衡策略,避免单个用户的请求过多导致的网络拥塞。
-
后台处理优化:对于弹幕功能的实时性需求,可以通过使用消息队列来实现,将弹幕内容分发到多个消息队列中,然后由消息队列的后台服务器进行处理,提高处理速度。
-
并发控制优化:对于多线程的弹幕发送,需要合理控制线程的数量和优先级,避免线程过多导致的阻塞,同时,也要防止死锁的发生。
-
内存管理优化:对于大量数据的存储,可以使用缓存技术,将常用的数据存储在缓存中,减少对内存的占用。
-
网络请求优化:对于网络请求,需要合理规划请求的顺序和频率,避免不必要的请求导致的网络延迟。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

