短視訊平臺搭建,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幾種常見的延遲執行處理方式
- RabbitMQ延遲訊息的延遲極限是多少?MQ
- 延遲訊息的五種實現方案
- C# Linq 延遲查詢的執行C#
- js延遲載入的方式有哪些?JS
- [Redis]延遲訊息佇列Redis佇列
- 延遲繫結
- [譯] 網速敏感的視訊延遲載入方案
- 喜訊!延遲退休來了🙃
- redis 延遲佇列Redis佇列
- Mybatis延遲查詢MyBatis
- WebGL之延遲著色Web
- Laravel 延遲佇列Laravel佇列
- 疫情延遲 題解
- 實現簡單延遲佇列和分散式延遲佇列佇列分散式
- 基於rabbitmq延遲外掛實現分散式延遲任務MQ分散式
- Golang研學:defer!如何掌握並用好(延遲執行)Golang
- 打造低延遲互動音訊: Oboe音訊
- PostgreSQL中的複製延遲SQL
- 延遲阻塞佇列 DelayQueue佇列
- 延遲繫結與retdlresolve
- 從庫延遲案例分析
- hyperf redis延遲佇列Redis佇列
- 直播短影片原始碼,延遲任務的解決方法原始碼
- php 實現golang defer延遲執行(先進後出)PHPGolang
- 移動端點選300ms延遲
- RocketMQ系列(五)廣播與延遲訊息MQ
- 短影片電商系統,編寫延遲訊息實現程式碼
- 美國伺服器延遲高怎麼辦,如何解決延遲問題伺服器
- Compose 延遲列表踩過的坑
- js延遲載入的方式中,只有IE瀏覽器支援的是哪一種方式JS瀏覽器
- 關於js延遲載入(非同步操作)的方式JS非同步
- mysql主從延遲複製MySql
- 延遲靜態繫結——static
- 前向渲染和延遲渲染
- Flink 鏈路延遲測量
- 主從延遲調優思路
- 3.6 延遲例項終止