ios - 缓慢的 UIViewController 加载时间(缓慢的 ClientState 警告)

标签 ios uiviewcontroller autolayout

自从我将一个旧应用程序转换为 iOS 6 后,我开始在我的控制台中收到以下消息。

警告:对关键 ClientState 的慢速默认访问花费了 0.023656 秒,容差为 0.020000

除了将我的代码从 iOS 5 更新到 iOS 6 之外,我还切换到了自动布局。我运行了 Instruments/Time Profiler,我的 appDelegate 中的 rootViewController 是问题所在。每次我切换 View Controller 时,它都会占用大量时间(无论我是否必须实例化 View Controller 或重新使用已经存在的 View Controller )。

window.rootViewController = myViewController;

我知道该方法表面上做了什么,但我不确定幕后发生了什么......什么会导致它现在变慢,我可以做些什么来加快它的速度?

编辑:我试过让我的 Storyboard 脱离自动布局,问题就消失了(当然我的 UI 布局一团糟)。所以显而易见的结论是,它与自动布局有关。我可能只有不到 70 个 View 全部组合在屏幕上,以及布置它们所需的各种限制。我很难相信自动布局会慢得多(从关闭自动布局时的约 80 毫秒到打开自动布局时的约 1370 毫秒)。

最佳答案

在屏幕上有 70 次观看次数听起来很多!我的建议是以某种方式使其更简单:

  • 您真的需要同时查看所有 70 个 View 吗?

  • 检查是否所有 View 都需要自动布局,尽可能将其移除

  • 某些 View 可以用图形代替吗?我使用过 View ,例如对于阴影,可能是图像

你能把 storyBoard 分成几个小的吗?一个用于登录、详细信息、编辑模式等。部分缓慢可能来自系统必须处理(太)大的 Storyboard。

关于ios - 缓慢的 UIViewController 加载时间(缓慢的 ClientState 警告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300381/

相关文章:

ios - Base64 PDF 内容转 PDF

ios - return语句永远不会被执行警告

ios - 试图在父类(super class)中分配按钮的目标

ios - 动画约束更改 layoutIfNeeded 慢

swift - 更新方向变化的约束

ios - Core Data轻量级迁移: change relationship from To-One to To-Many

ios appid '' 不支持修改 'Maps'功能

iphone - 警告 : Attempt to present <AdjustPhotoViewController> on <TakePhotoViewController> while a presentation is in progress

ios - 如何使用 UINavigationBar 中的 UITextView 导航到下一个 UIViewController

ios - 在 iOS 中使用自动布局并排放置多个图标的最佳方式