gpt4 book ai didi

objective-c - Cocoa App 启动闪屏

转载 作者:行者123 更新时间:2023-12-03 17:34:38 26 4
gpt4 key购买 nike

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

我想在应用程序最初启动时到应用程序准备好并完成任务时放置一个启动屏幕。

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

有什么方法可以在停靠图 block 开始弹起时立即调用此窗口吗?

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

最佳答案

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

 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

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

更新:

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

关于objective-c - Cocoa App 启动闪屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16962917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com