美文网首页
viewDidLoad创建大量UI导致Push页面卡顿

viewDidLoad创建大量UI导致Push页面卡顿

作者: 倪大头 | 来源:发表于2020-09-16 09:22 被阅读0次

发现项目中A页面push到B页面的时候会卡顿一下,后来发现是因为B页面里创建UI太多,而且都用了mas框架约束布局,会比使用Frame更慢些,经查发现pushViewController动画会在B页面viewDidLoad方法执行完毕后才开始执行,所以把一部分UI创建放到下次runloop里

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = UIColor.whiteColor;
    
   [self createUI]; // 先创建一部分进入页面马上需要展示的UI
   dispatch_async(dispatch_get_main_queue(), ^{
            // 在下次runloop时再创建剩下的UI
            [self createNextLoopUI];
   });
}

相关文章

网友评论

      本文标题:viewDidLoad创建大量UI导致Push页面卡顿

      本文链接:https://www.haomeiwen.com/subject/pvkcyktx.html