作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 iOS 上。当应用程序被发送到后台时,该应用程序是否仍在同一个 UI 线程上运行,或者是否被移动到新线程?
最佳答案
在进入后台状态时,为您的应用分配的 iOS 线程池不会改变(当然它们已暂停)。
您可以通过检查 NSThread.Current
查看您当前所在的线程。
如果您查看 DidEnterBackground
中的线程,是的,它是 main
线程。
后台获取 (PerformFetch
) 将在主
线程上进行。
基于后台的位置更新在主
线程上。
即
switch (UIApplication.SharedApplication.ApplicationState)
{
case UIApplicationState.Background:
Console.WriteLine($"Background location update {NSThread.Current}");
break;
case UIApplicationState.Active:
Console.WriteLine($"Foreground location update {NSThread.Current}");
break;
}
Location[16904:1947553] Foreground location update <NSThread: 0x60000006d900>{number = 1, name = main}
Location[16904:1947553] Foreground location update <NSThread: 0x60000006d900>{number = 1, name = main}
Location[16904:1947553] Foreground location update <NSThread: 0x60000006d900>{number = 1, name = main}
Location[16904:1947553] App entering background state.
Location[16904:1947553] Now receiving location updates in the background
Location[16904:1947553] Background location update <NSThread: 0x60000006d900>{number = 1, name = main}
Location[16904:1947553] Background location update <NSThread: 0x60000006d900>{number = 1, name = main}
关于c# - 在 iOS 上。当应用程序被发送到后台时,该应用程序是否仍在同一个 UI 线程上运行,或者是否被移动到新的不同线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48521192/
我是一名优秀的程序员,十分优秀!