我有一个基于多视图的应用程序,问题是当我推送一个 UIViewController 时,设备(仅当我在真实设备上测试它时)冻结一两秒钟,我不知道为什么会发生这种情况,因为推送了 UIViewController只有一个 UITextField 和一个按钮。这仅在第一次推送视图时发生,在此推送之后视图是平滑的。
关于如何避免这种情况的任何想法?
我有一个基于多视图的应用程序,问题是当我推送一个 UIViewController 时,设备(仅当我在真实设备上测试它时)冻结一两秒钟,我不知道为什么会发生这种情况,因为推送了 UIViewController只有一个 UITextField 和一个按钮。这仅在第一次推送视图时发生,在此推送之后视图是平滑的。
关于如何避免这种情况的任何想法?
是否有任何可以实例化的对象与您正在推送的视图控制器分开,您可以更早地实例化它们?“预加载”对象将有助于呈现更快的视图控制器推送。
似乎您在离开原始视图控制器时有些沉重。
您可以发布推送控制器的确切代码(围绕推送的整个方法)吗?
您绝对应该使用 Instruments 来了解您第一次按下该控制器时发生了什么。
使用仪器的 CPU 采样器工具并开始录音。然后在您的应用程序中执行您需要执行的任何操作来推送控制器。您可能会在 CPU 负载图表中看到峰值。此时您可以调查堆栈跟踪以了解发生了什么以及为什么需要这么长时间。