iOS推送延迟,ios消息延迟的解决方法,对比分析iOS延迟执行的4种方式

iOS推送延迟,ios消息延迟的解决方法,对比分析iOS延迟执行的4种方式

本文主要比较分析了iOS延迟执行的四种方式,比较了iOS延迟执行的特点,具有一定的参考价值。感兴趣的朋友可以参考一下。

最近我学会了几种延迟执行的方法,分享一下:

1.performSelector(NSObject)方法2。NSTimer方法3。GCD方法4 .睡眠(NSThread)方法

一、performSelector方法:

复制代码如下:【self perform selector:@ selector(delay method)with object:nil after delay:1.0f】;

1.特点:该方法要求必须在主线程中执行,否则无效。它是一种非阻塞的执行方式,暂时没有找到取消执行的方法。

二、定时器:NSTimer:

复制代码如下:【NSTimer ScheduledtimerwithTimeInterval:1.0F Target:self Selector:@ Selector(delay method)UserInfo:nil repeats:no】;

1.特点:该方法要求必须在主线程中执行,否则无效。是一种非阻塞执行模式,可以通过NSTimer类的-(void)invalidate来执行;取消执行

三、sleep方式:

副本代码如下:[NSThread SleepFortimeInterval:1.0f];

1.特点:该方法在主线程和子线程中都可以执行。它是一种阻塞执行模式。建议放在一个子线程里,以免卡在接口里找不到办法取消执行。

四、GCD方式:

复制代码如下:dispatch _ after(dispatch _ time(dispatch _ time _ now,(int64 _ t) (3.0 * nsec _ per _ sec)),dispatch _ get _ main _ queue(),{ dispatch _ async(dispatch _ get _ queue)});});

1.特点:该方法可以在参数中选择执行线程。它是一种非阻塞执行模式,没有办法取消执行。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

iOS推送延迟,ios消息延迟的解决方法,对比分析iOS延迟执行的4种方式