gpt4 book ai didi

ios - 旧设备上的异步 DispatchQoS.QoSClass.background

转载 作者:行者123 更新时间:2023-11-30 11:21:09 25 4
gpt4 key购买 nike

我试图使用这段代码:

func simpleEscaping(test: String, complete: @escaping (_ testEscaped: String)->()) {
complete(test)
}

func testBgAsync() {
let backgroundQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.background)
simpleEscaping(test: "Test") { (testEscaped) in

backgroundQueue.async {
sleep(1)
print("Test escaped value is: \(testEscaped)")
}
}
}

testBgAsync()

它在 Playground 上按预期工作:

"Test escaped value is: Test"

显示。

我还在实际设备上尝试过此代码:

  • iPhoneX v11.4
  • iPhone5C v10.3.3

iPhoneX 的结果相同:

"Test escaped value is: Test"

对于iPhone5C:没有结果。尝试设置一些断点,发现 backgroundQueue.async {} 中的代码未运行。

这是因为我的实现不当还是因为设备版本不同而有所不同?

最佳答案

一般来说,您应该使用的最低 QoS 是 .utility

.background 的优先级非常低,具有此优先级的项目可能永远不会被调度,特别是在 iPhone 5C 等低功耗设备上

关于ios - 旧设备上的异步 DispatchQoS.QoSClass.background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257222/

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