我在我的应用程序中遇到了一个问题,didFinishLaunchingWithOptions 完成时间过长,这可能导致应用程序被终止。
我还收到了来自 iTunes Connect 的崩溃报告,这些报告似乎表明该应用程序启动时间过长。
这可能是因为我在 didFinishLaunchingWithOptions 期间同步加载了一些纹理,这个过程需要一秒钟以上的时间。
为了解决这个问题,我调用了延迟后加载数据的方法,方法如下:
[self performSelector:@selector(loadTextures) withObject:nil afterDelay:0.5f];
我理解的方式 - 虽然我可能错了 - 计划任务不会在不同的线程上执行,因此只会在 didFinishLaunchingWithOptions 完成后处理。
我的问题是: 是否有针对此类问题的最佳实践解决方案?我建议的解决方案是否符合我的预期?
此外,在这种情况下,即使在启动阶段之后,Apple 的看门狗也会检查应用程序的响应能力吗?