0

我的 Mac 应用程序连接到远程数据库,连接和提取数据大约需要 10 秒。由于框架初始化和网络延迟等原因,这个时间无法缩短。

我想从最初的应用程序启动时间到应用程序准备就绪并完成它的时候放一个启动画面。

我已经尝试过applicationWillFinishLaunching:(NSNotification *)notification方法,但在应用程序启动之前它不会显示启动画面,这是有道理的,因为 AppDelegate 似乎是最后一个创建的对象,并且应用程序控制器在整个应用程序“完成启动”之前完全初始化这就是延迟所在。

一旦停靠瓷砖开始弹跳,是否有任何方法可以调用此窗口?

我知道我会因为优化而被击落,但无法采取进一步的措施来加快这个过程。

4

1 回答 1

3

也许您可以使用 GCD 将耗时的任务异步分派到后台线程,以便应用程序委托可以继续:

 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

    dispatch_async(queue, ^{
        // time consuming task
    });

更新:

您可以调用 dispatch_get_main_queue() 在主线程上执行繁重的任务,而不是后台线程,如果它们涉及对 UI 的更改。

于 2013-06-06T13:16:11.450 回答