首页 > 解决方案 > 如果调用 NSApp.terminate,是否会清理 DispatchQueue 线程?

问题描述

如果我的应用程序中的代码执行延迟:

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(20), qos: .background) {
    //code
}

如果在作业运行或正在运行之前调用 NSApp.terminate,我是否需要取消此操作或在 AppDelegate 中执行任何特定操作?应用退出时是否会自动清理 GCD 线程?

标签: swiftmacos

解决方案


当应用程序终止时,操作系统会自动清理其所有内存资源,包括队列和线程。您无需执行任何操作即可停止此任务。


推荐阅读