iOS 使用MQTT做弹幕功能性能优化问题

由于没有做数据过滤,所以App会收到大量数据,造成app页面卡死,数据大概每秒300个数据左右,现在感觉下来的数据用ObjectMapper转model消耗很大,还有就是我去操作tableView的时候也很大,所以请大家给提些建议优化下,感谢!!!代码如下:
//处理服务端返回的弹幕消息
funchandleMessage(_data:Data!){
letjson=JSON(data)
ifjson["userName"].string!=nil&&json["message"].string!=nil{
ifletd=json.dictionaryObject{
ifletentity=Mapper().map(JSON:d){
self.tableView?.addNewDanmu(entity)
self.danmu_List.append(entity)
}
}
}
}
funcaddNewDanmu(_danmu:[DTDanmuMessageEntity]){
self.danmu+=danmu
letindexPath=NSIndexPath(row:self.danmu.count-1,section:0)
self.beginUpdates()
self.insertRows(at:[indexPathasIndexPath],with:.bottom)
self.endUpdates()
ifself.contentSize.heightreturn
}
//滚动到最底部
self.scrollToRow(at:indexPathasIndexPath,at:.bottom,animated:true)
}
慕田峪7331174
浏览 858回答 2
2回答

尚方宝剑之说

1.字典转模型确保放在子线程2.弹幕的处理可以参考OCBarrage可以研究下他是怎么处理的3.如果还有性能问题,你就应该先找的性能的瓶颈在哪里,然后再想解决的办法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript