ios - 密集的数据处理使UI交互无法生效

标签 ios cocoa-touch grand-central-dispatch lag

我正在 iOS 应用程序中进行大量数据处理,我有一个“取消”UIButton。用户可以按取消按钮,但由于应用程序的处理速度非常缓慢,因此单击通常在大约 10 秒内不会被识别。然而,我可以点击设备上的主页按钮,手机会立即转到主屏幕。

我假设主页按钮由 Apple 编程为具有最高优先级。有什么方法可以使应用程序中的取消按钮具有“最高优先级”,高于滞后的动画和屏幕 UI 更新和滞后的数据处理?我假设这与 GCD - 调度级别有关?

最佳答案

主队列用于所有主要的 UI 交互和动画。听起来您也在主线程上进行数据处理。这可能不是您想要采用的路径,但您可以考虑将数据处理任务移动到 GCD 的单独线程,而不是尝试让 UIButton 获得更高的优先级。

关于ios - 密集的数据处理使UI交互无法生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244618/

相关文章:

iphone - 查看UIView或NSObject的所有子类

ios - 在 iOS 中使用 NSURLConnection 按顺序下载文件

ios - 使用 GCD 运行重复 NSTimer?

ios - 在 iOS 上创建动态 pdf 文档

ios - 如果用户使用的是 iOS 3.1.3 或更低版本,则导入 iOS 3.2 源代码

java - 以编程方式在 AWS S3 上启用版本控制

iphone - 处理 CGMutablePath 时内存泄漏

objective-c - 如何使用 completionHandlers 等待多个函数?

android - Bluemix App Builder - 在 map 屏幕中位置是必需的

ios - 与 Swift iOS 的 WSS/TLS websocket 连接