Tag: runloop

iOS在系统闲置时定期执行低优先级任务

在iOS应用程序开发过程中。 我想定期执行一个低优先级的任务。 而不希望这个任务会影响主要的工作scheme。 有什么办法实现它? 现在我用timer执行定期任务,但是经常发现应用程序不顺畅。 低优先级任务有时需要在主线程上运行,比如检查粘贴板,而不是显示UI上的内容。

如何简单地等待iOS中的任何布局?

在开始之前请注意,这与后台处理无关。 没有涉及到背景的“计算”。 只有UIKit 。 view.addItemsA() view.addItemsB() view.addItemsC() 让我们来说一个6s的iPhone 这些都需要一秒钟的UIKit来构build。 这将发生: 他们全部都在一起。 重复一遍,UIKit执行大量工作时,屏幕只会挂起3秒钟。 然后他们都立即出现。 但是让我们说我想要这样的事情发生: 他们看起来不断进步。 屏幕挂起1秒,而UIKitbuild立一个。 它出现。 它再次挂起,而build立下一个。 它出现。 等等。 (注意“一秒钟”只是一个简单的例子,为了更清楚起见,请看这篇文章的最后一个例子。) 你如何在iOS中做到这一点? 你可以尝试以下。 这似乎并不奏效 。 view.addItemsA() view.setNeedsDisplay() view.layoutIfNeeded() view.addItemsB() 你可以试试这个: view.addItemsA() view.setNeedsDisplay() view.layoutIfNeeded()_b() delay(0.1) { self._b() } } func _b() { view.addItemsB() view.setNeedsDisplay() view.layoutIfNeeded() delay(0.1) { self._c() }… 请注意,如果值太小 – 这种方法很简单,显然,什么都不做 。 UIKit将继续工作。 (还有什么呢?) 如果价值太大,这是毫无意义的。 […]

有什么指导iOS的runloop机制?

我正在学习iPhone上的套接字通信,其指南中提到了有关CFRunloop一些信息(这是CFNetwork的指南,可以在iOS上使用吗?)我可以在哪里了解iOS上的runloop?API引用是不够的。