缓慢UIViewController加载时间(慢ClientState警告)
由于我将旧应用程序转换为iOS 6,因此我开始在控制台中收到以下消息。
WARNING: Slow defaults access for key ClientState took 0.023656 seconds, tolerance is 0.020000
除了将我的代码从iOS 5更新到iOS 6之外,我还切换到了自动布局。 我运行过Instruments / Time Profiler和我的rootViewController
中的rootViewController
是问题所在。 每次我切换视图控制器时,它都会占用大部分时间(无论是否需要实例化视图控制器或重新使用已存在的视图控制器)。
window.rootViewController = myViewController;
我知道这种方法的表面效果如何,但我不确定在封面下会发生什么......现在会导致速度变慢,我能做些什么来加速它?
编辑:我试图把我的故事板关闭自动布局和问题消失(当然我的用户界面布局是在混乱)。 所以明显的结论是,这是关于自动布局的。 我可能只有70多个视图都结合在屏幕上,并将各种约束放在一起。 我很难相信自动布局的速度要慢得多(自动布局关闭时约80ms,自动布局开启时约1370ms)。
屏幕上有70个视图听起来很像! 我的建议是以某种方式简化它 :
你真的同时需要所有70个观点吗?
检查所有视图是否需要自动布局,并尽可能将其删除
你可以将storyBoard分成几个小小的,例如登录,细节,编辑模式等。部分缓慢可能来自系统不得不处理(太)大storyBoards。
考虑用2个视图控制器创建一个新项目并测试切换速度。 每个iOS应用程序都有一个窗口,一个根视图控制器和一个视图控制器。 问题不可能像你期望的那样狭窄和明确。 每个视图控制器加载了什么? 你检查了底层代码吗? 应用程序委托是否在初始化或更改根视图控制器时执行任何操作?
链接地址: http://www.djcxy.com/p/11707.html上一篇: Slow UIViewController load time (slow ClientState warning)