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

Ios 密集的数据处理使UI交互无法生效,ios,cocoa-touch,grand-central-dispatch,lag,Ios,Cocoa Touch,Grand Central Dispatch,Lag,我在iOS应用程序中进行密集的数据处理,我有一个“取消”按钮。用户可以按下“取消”按钮,但由于应用程序的处理速度太慢,点击通常在大约10秒钟内无法识别。然而,我可以点击设备上的home(主页)按钮,手机会立即进入主屏幕 我假设home(主页)按钮由苹果公司编程,具有最高优先级。是否有任何方法可以使应用程序中的取消按钮在laggy动画和屏幕UI更新以及laggy数据处理之上具有“最高优先级”?我假设这与GCD-调度级别有关?主队列用于所有主UI交互和动画。听起来您也在主线程上进行数据处理。这可能不

我在iOS应用程序中进行密集的数据处理,我有一个“取消”按钮。用户可以按下“取消”按钮,但由于应用程序的处理速度太慢,点击通常在大约10秒钟内无法识别。然而,我可以点击设备上的home(主页)按钮,手机会立即进入主屏幕


我假设home(主页)按钮由苹果公司编程,具有最高优先级。是否有任何方法可以使应用程序中的取消按钮在laggy动画和屏幕UI更新以及laggy数据处理之上具有“最高优先级”?我假设这与GCD-调度级别有关?

主队列用于所有主UI交互和动画。听起来您也在主线程上进行数据处理。这可能不是您想采用的路径,但您可能会考虑将数据处理任务移到单独的GCD线程,而不是试图获得UBITCON以获得更高的优先级。对于数据处理任务,请张贴启动后台进程的代码和取消后台进程的代码。您无法提高UI的优先级(它将始终在主线程上运行)。是否已使用GCD(或类似工具)将处理置于后台?“如果没有,那就这样做吧。”乔什·卡斯:我用GCD做了一些事情。我们的大多数数据处理涉及与服务器通信(上载数学方程图像),上载Latex HD图像的加载时间约为10秒。。。将此代码放入后台线程或低优先级线程会影响上载时间或服务器通信吗?我对GCD知之甚少,也不知道它允许什么操作。谢谢