首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析主线程查询

解析主线程查询
EN

Stack Overflow用户
提问于 2014-10-24 03:21:07
回答 2查看 179关注 0票数 0

我的iOS应用程序依赖于服务器端的数据,只是为了启动它,我需要一些来自Parse的信息来完成应用程序委托的工作……问题是,我在主线程上进行这个查询,因为否则我会使用块或队列,在应用程序启动后,立即显示启动图像,然后查询开始,屏幕变为空白,然后查询到达,应用屏幕刷新并准备就绪,但对于用户体验来说,这看起来很奇怪,我不希望这种情况发生。

使用主线程上的查询,启动映像将一直保持到数据到达为止,并且看起来好多了,加载时间大约为2-3秒.

感觉很糟糕但是..。

有什么建议吗?

致以敬意,

米格尔·罗哈斯·考特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-24 04:57:27

你只需要在这里多做点工作

  1. 为启动屏幕创建单独的nib / view控制器,而不是使用默认的iOS控制器
  2. 当启动视图控制器加载时,启动请求,并暂时不执行任何转换。可能会在那里显示某种装载指示器。
  3. 当所有数据都到达时,进行到第一个屏幕的转换(或者平稳地或者突然地衰落,IDK)。

在这种情况下,在主线程上执行查询可能会在90%的时间内工作,但其他10%的情况下,例如当网络是片状的时候,这不是一个很好的体验。该应用程序将挂在那里,您没有机会处理返回的错误,因为主线程被阻塞。

票数 2
EN

Stack Overflow用户

发布于 2014-10-24 04:43:12

当应用程序启动时,不要阻塞主线程。如果网络请求不够快,监督狗会终止你的应用程序,你的用户会给你一个明星评论。

只需显示您的UI与您所拥有的更多的信息,并显示一些视觉指示,更多的数据正在加载。然后,在数据到达时更新视图。

还记得处理这样的情况,即用户启动应用程序时没有连接性。用户应该得到一个适当的错误和一个重新尝试的选项。

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

https://stackoverflow.com/questions/26540962

复制
相关文章

相似问题

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