我有一个包含UIScrollView的UIViewController,我在其中构建了所有内容以供显示。我这样做是因为内容是动态的,并且取决于存储在数据库中的数据。
当我在iPhone或模拟器中更改方向时,需要很长时间才能执行更改(取决于显示器的数据,最长可达40秒)。
如果我只是启动相同的控制器,它只需要几秒钟(它有一个覆盖和进度指示器,所以用户知道它的想法)。
为什么定位需要这么长时间?当方向发生变化时会发生什么?
答案 0 :(得分:0)
如何同步或异步加载数据库中的数据?如果您希望从应用程序获得更好的响应能力,则应该异步加载它。
此外,如果从主线程同步访问数据库,那么加载数据的代码位于何处:'viewDidLoad','viewDidLayoutSubviews'等等?我怀疑当设备的方向发生变化时,加载代码会多次运行,因此您可以尝试在那里放置一个断点,看看到底发生了什么......