短視訊平臺搭建,ios端延遲的執行方式,新增各種延遲
短視訊平臺搭建,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幾種常見的延遲執行處理方式
- script的延遲執行
- RabbitMQ延遲訊息的延遲極限是多少?MQ
- 延遲訊息的五種實現方案
- 指定執行緒延遲時間(毫秒)執行緒
- GCD延遲執行如何在中途取消GC
- 喜訊!延遲退休來了🙃
- [Redis]延遲訊息佇列Redis佇列
- C# Linq 延遲查詢的執行C#
- 延遲釋出
- [譯] 網速敏感的視訊延遲載入方案
- java多執行緒之延遲初始化Java執行緒
- android中延遲執行某個任務Android
- oracle的延遲約束Oracle
- Laravel 延遲佇列Laravel佇列
- WebGL之延遲著色Web
- Mybatis延遲查詢MyBatis
- 疫情延遲 題解
- redis 延遲佇列Redis佇列
- 實現簡單延遲佇列和分散式延遲佇列佇列分散式
- 基於rabbitmq延遲外掛實現分散式延遲任務MQ分散式
- 打造低延遲互動音訊: Oboe音訊
- 短影片電商系統,編寫延遲訊息實現程式碼
- Golang研學:defer!如何掌握並用好(延遲執行)Golang
- Bittrex交易平臺遭遇提現嚴重延遲問題
- PostgreSQL中的複製延遲SQL
- 直播短影片原始碼,延遲任務的解決方法原始碼
- 延遲阻塞佇列 DelayQueue佇列
- SQL之延遲約束SQL
- zookeeper之watch事件延遲事件
- hyperf redis延遲佇列Redis佇列
- 從庫延遲案例分析
- RocketMQ系列(五)廣播與延遲訊息MQ
- 美國伺服器延遲高怎麼辦,如何解決延遲問題伺服器
- php 實現golang defer延遲執行(先進後出)PHPGolang
- 「視訊直播技術詳解」系列之五:延遲優化優化
- 【延遲段建立】Oracle 11gR2的延遲段建立(deferred segment creation)特性Oracle
- RabbitMQ實戰《延遲佇列》MQ佇列