短視訊平臺搭建,ios端延遲的執行方式,新增各種延遲

zhibo系統開發發表於2022-05-12

短視訊平臺搭建,ios端延遲的執行方式,新增各種延遲

1、animateWithDuration(block中只對animation的程式碼有效)

/**
 * 不會阻塞執行緒,block中只支援animation程式碼,才會有延時效果,
 * 對於不支援animation的程式碼 則 不會有延時效果
 */
[UIView animateWithDuration:3 delay:3 options:1 animations:^{
        self.btn.transform = CGAffineTransformMakeTranslation(300, 400);
    } completion:^(BOOL finished) {
        NSLog(@"view animation結束");
 }];

2、sleepForTimeInterval(阻塞執行緒,浪費效能)

/**
 * 阻塞執行緒,浪費效能 ,一般不推薦用,甚至能不用就不用。
 * 此方式在主執行緒和子執行緒中均可執行。 
 * 建議放到子執行緒中,以免卡住介面,沒有找到取消執行的方法。
 */
[NSThread sleepForTimeInterval:3];
[self delayMethod];

3、dispatch_after(推薦使用)

/**
* 定製了延時執行的任務,不會阻塞執行緒,在主執行緒和子執行緒中都可以,效率較高(推薦使用)。
* 此方式在可以在引數中選擇執行的執行緒。 
* 是一種非阻塞的執行方式, 沒有找到取消執行的方法。
*/
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
       
 });

4、performSelector(主執行緒有效)

/**
* 此方式要求必須在主執行緒中執行,否則無效。
* 是一種非阻塞的執行方式, 暫時未找到取消執行的方法。
*/
[self performSelector:@selector(test) withObject:nil afterDelay:3];

以上就是短視訊平臺搭建,ios端延遲的執行方式,新增各種延遲, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2893689/,如需轉載,請註明出處,否則將追究法律責任。

相關文章