我有一个openGL /音频iOS应用程序和按下按钮时呈现的几个UIViewControllers(弹出窗口或模态视图)。创建/显示控制器时,它们会在打开时暂停主OpenGL /音频线程0.5-1秒。
为了解决这个问题,我尝试在应用程序加载时分配所有视图控制器(并不是那么多) - 而不是每次使用它们。然而,即使它们在早期分配/创建,它们第一次显示它们仍然很慢出现并暂停主线程。在第一次加载后,下一次加载很快并且不会暂停任何操作。
有没有办法预加载UIViewControllers?似乎从nib分配并不是减速(因为应用程序启动时会发生这种情况)因此它会呈现视图。每个UIViewController UIView只有4-5个滑块和2-3个按钮。实际上没有多少时间需要加载。
有没有办法以某种方式解决这个问题以避免滞后?据我所知,UIKit元素只能在主线程中运行。