繁体   English   中英

为什么使用dispatch_async对性能有很大帮助?

[英]Why is using dispatch_async helping with performance so much?

我承认,我在网上找到了这段代码-用了它-兴隆起来! 我获得了很大的性能提升。

我的代码如下所示:

在此处输入图片说明

并使用Time Profiler,我发现成为FirstResponder变得很疯狂,如下所示(在createOrEditItem中):

在此处输入图片说明

所以我打了谷歌,像这样改变它:

在此处输入图片说明

而且Time Profiler甚至没有将其显示为“热门”方法!

我的问题很简单,为什么? 这里发生的技术魔术是什么?

谢谢。

在此处输入图片说明

当您异步地调度代码在同一线程上运行时(如您在示例中所做的那样),您正在调度其在下一个运行循环周期内运行。

它并不能将性能从一个运行循环循环到下一个循环,从而将工作量分散到多个运行循环中,从而使它看起来更流畅,更快。 如果您有来自dummyTextField成为第一响应者的副作用,这也可以解释一下为什么它看起来更dummyTextField原因,因为副作用再次被推送到下一个运行循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM