首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于IM应用程序,如果我经常使用reloadData,主线程会被阻塞吗?如果有,有什么好办法解决吗?

对于IM应用程序,如果我经常使用reloadData,主线程会被阻塞吗?如果有,有什么好办法解决吗?
EN

Stack Overflow用户
提问于 2015-08-21 07:21:43
回答 1查看 56关注 0票数 1

我有个即时通讯应用。它包含一个UITableView。当我收到一条消息或发送一条消息时,我将消息推送到我的自定义数据源消息数组中,然后将reloadData的UITableView.During重新加载数据,然后计算单元格的预期高度。我用仪器测试性能。在时间分析器中,花在重新加载job...And上的时间最多--应该在主线程中完成。看起来unavoidable..What是一个很好的IM应用程序设计吗?如果我在主线程上花费大量时间,主线程将被阻塞,并且收到内存警告,对吗?只是想知道一些关于它的想法..。PS: IM应用是InstantMessaging应用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-21 07:26:56

不必每次都重新加载整个表视图,但是应该使用- (void)reloadSections:(NSIndexSet *)sections- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation重新加载包含新消息的部分(或行)。

要回答您的问题,如果主线程被长时间的操作阻塞,它不会向您发送内存警告,但是您的UI将被阻塞,从而使您的应用程序失去响应,从而影响用户体验。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32134559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档