Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在iOS上。当应用程序被发送到后台时,该应用程序是仍在相同的UI线程上运行,还是被移动到新的不同线程

在iOS上。当应用程序被发送到后台时,该应用程序是仍在相同的UI线程上运行,还是被移动到新的不同线程
EN

Stack Overflow用户
提问于 2018-01-30 12:12:08
回答 1查看 56关注 0票数 0

在iOS上。当应用程序被发送到后台时,该应用程序是仍然在同一UI线程上运行,还是被移到新的线程上?

EN

回答 1

Stack Overflow用户

发布于 2018-01-30 12:57:30

在进入后台状态时,你的应用程序的iOS分配线程池不会改变(当然它们会被挂起)。

您可以通过检查NSThread.Current来查看当前所在的线程。

示例:

  • 如果您查看DidEnterBackground中的线程,就会发现它是main线程。
  • 后台获取(PerformFetch)将位于main main线程上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48521192

复制
相关文章
Spark 在Yarn上运行Spark应用程序
在 YARN 中,每个应用程序实例都有一个 ApplicationMaster 进程,该进程是为该应用程序启动的第一个容器。应用程序负责从 ResourceManager 上请求资源。一旦分配了资源,应用程序将指示 NodeManagers 启动容器。ApplicationMasters 消除了对活跃客户端的依赖:启动应用程序的进程可以终止,并且从在集群上由 YARN 管理的进程继续协作运行。
smartsi
2019/08/07
1.9K0
在 WASI 上运行 .NET 7 应用程序
WASI代表 WebAssembly 系统接口,WASI 让沙盒化的 WebAssembly 应用程序通过一系列类似 POSIX 的函数访问底层操作系统,允许独立于浏览器运行 WebAssembly 代码。这是一个高度实验性的项目,但同时也是一个非常有趣的项目,并且有可能为行业的大规模编程范式转变做出贡献,使 WebAssembly 真正无处不在。
张善友
2022/04/28
1.4K0
在 WASI 上运行 .NET 7 应用程序
iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果
  在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的。在之前的博客中也提到过,团队合作使用Storyboard时,避免冲突有效的解决方法是负责UI开发的同事最好每人维护一个Storyboard, 公用的组件使用轻量级的xib或者纯代码来实现。这样不但提高了开发效率,而且可以有效的避免Storyboard的冲突。如果每个人维护一个Storyboard, 遇到冲突了就以你自己的为准就OK了。   言归正传,接下
lizelu
2018/01/11
2.3K0
iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果
用这些 iOS 技巧让你的 APP 性能更佳
https://juejin.im/post/5c6a0b6ef265da2de660f83f”
iOSSir
2019/06/14
3.2K0
用这些 iOS 技巧让你的 APP 性能更佳
后台线程和ui线程
后台线程 mfc AfxBeginThread创建函数或者对象中的静态函数 dotnet Task.Run或者new Thread ui线程 mfc 继承CWinThread、给子类绑定dialog,窗口在独立的线程中初始化和析构。 class CUIThread : public CWinThread { DECLARE_DYNCREATE(CUIThread) protected: CUIThread(); // 动态创建所使用的受保护的构造函数 virt
sofu456
2020/02/18
5160
Anbox:在 Linux 上运行 Android 应用程序的简单方式
Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以在普通的 GNU/Linux 系统上启动完整的 Android 系统。
用户8639654
2021/09/23
5.2K0
LabVIEW应用程序后台运行
本篇博文分享LabVIEW虽然不常用但是很有意思的一个开发技巧:应用程序后台运行。运行程序后自动隐藏前面板窗口和任务栏图标。
不脱发的程序猿
2022/05/07
1.4K0
LabVIEW应用程序后台运行
【分享】在MPSoC上运行基于eglfs_kms的QT应用程序
Xilinx为MPSoC支持4种libMali的backend: X11, Wayland/GBM, Fbdev, Headless-EGL.
hankfu
2020/12/16
5.9K0
检查 Flutter 应用程序是否在 Web 上运行(书籍推荐)
您可以使用基础kIsWeb常量检查您的 Flutter 应用程序是否在 Web 浏览器上运行。
徐建国
2022/03/30
1.7K0
检查 Flutter 应用程序是否在 Web 上运行(书籍推荐)
【译】在正确的线程上观察
尽管很多人了解RxJava的基本逻辑,但是在Observable链和操作符究竟运行在哪个线程,仍然会有许多困惑。
用户1740424
2018/07/23
5190
【译】在正确的线程上观察
在Windows Mobile上隐藏你的应用程序
    有时候,我们需要在Windows Mobile上做一些invisible的应用程序,使得用户无法察觉。这几天找了一些资料,请教了Jake等一些朋友,下面就做一个简单的总结。 1. 如何逃脱“任
ShiJiong
2018/01/10
1.2K0
在Windows Mobile上隐藏你的应用程序
在 Microsoft 云上构建应用程序
Microsoft 云包括了Azure、Power Platform、Microsoft 365、GitHub、Dynamics 365 等,虽然许多企业应用程序开发领导者了解在 Azure 上创建应用程序的价值,但事实是您可以将整个 Microsoft 云作为应用程序平台. 有一篇文章:在 Microsoft 云上构建应用程序 从应用程序开发角度介绍了 Microsoft 云的大局,重点介绍领导者必须执行的操作才能取得成功。
张善友
2022/05/31
8360
在 Microsoft 云上构建应用程序
群晖NAS上安装虚拟机教程在同一设备上运行多个不同的操作系统和应用程序
想要在同一设备上运行多个不同的操作系统和应用程序,实现更高效的资源利用吗?本文为您提供详细的群晖NAS虚拟机安装教程,包括硬件要求确认、下载Virtual Machine Manager、创建虚拟交换机、创建虚拟机、配置虚拟机网络和启动虚拟机等6个步骤。通过本文,您可以轻松掌握在群晖NAS上安装虚拟机的方法,以及使用Virtual Machine Manager进行虚拟机管理和网络设置的技巧。
哈德森
2023/04/07
12.4K0
进程、线程、应用程序之间的关系
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元, 或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基 于多线程的多任务。   那进程与线程的区别到底是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成 Notepad.exe的代码及其所需调用动态链接库的进程。每个进程均运行在其专用且受保护
猿人谷
2018/01/17
1.6K0
在Windows上如何后台运行JuiceFS
JuiceFS的Badger引擎改造完成以后,需要在Windows下面进行后台运行。因为现有的JuiceFS中还没有在Windows下的后台运行实现,所以需要通过其他途径解决。
用户1260683
2022/03/30
2.9K0
在Windows上如何后台运行JuiceFS
在 Linux or windows 上后台运行服务
  此时可以访问 http://ip:8000 验证服务是否成功启动了(详细操作见另一篇文章-Python 一行搭建文件服务器)
我是胖虎啊
2022/06/27
3.3K0
在 Linux or windows 上后台运行服务
BackgroundWorker在单独的线程上执行操作
直接使用多线程有时候会带来莫名其妙的错误,不定时的发生,有时候会让程序直接崩溃,其实BackgroundWorker 类允许您在单独的专用线程上运行操作。可以通过编程方式创建 BackgroundWorker,也可以将它从“工具箱”的“组件”选项卡中拖到窗体上。如果在 Windows 窗体设计器中创建 BackgroundWorker,则它会出现在组件栏中,而且它的属性会显示在“属性”窗口中。
张果
2022/05/09
1.2K0
BackgroundWorker在单独的线程上执行操作
iOS底层 之 多线程原理(上)
线程是可以在单个应用程序中同时执行多个代码路径的几种技术之一。尽管操作对象和 Grand Central Dispatch (GCD) 等新技术为实现并发提供了更现代、更高效的基础设施,但 OS X 和 iOS 也提供了用于创建和管理线程的接口。
CC老师
2021/08/25
5410
点击加载更多

相似问题

检测代码是在后台线程还是在UI (Dispatcher)线程上运行

10

应用程序类是运行在UI线程上还是?

33

ios 7推送通知didReceiveRemoteNotification方法是在UI线程上运行还是在单独的线程上运行?

31

当我在Android中使用绑定服务时,它是在后台运行,还是在自己的线程上,还是在主UI线程上运行?

10

从iOS上的后台线程更新UI

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文