我在Storyboard中有非常复杂的UIViewController。这个UIViewController有UITableView,在单元格中有两个scrollview,另外两个是UIView,五个UIImageView和一些UILabels。 第一次当用户看到这个控制器时间约为5秒时,下一次非常快〜0.5秒。
滞后在生命周期控制器中的viewWillApper和viewDidApper之间。
如何优化此视图UIViewController?
答案 0 :(得分:1)
好的,我发现了我的问题:
DTHTMLAttributedStringBuilder *stringBuilder = [[DTHTMLAttributedStringBuilder alloc] initWithHTML:data
options:builderOptions
documentAttributes:nil];
NSAttributedString *attrString = [stringBuilder generatedAttributedString];
generatedAttributedString生成滞后。我通过Time Profiler发现了这个问题(感谢Fogmeister)。
所以我通过在初始化viewcontroller之前生成假内容来删除这个问题:
NSString *html = @"<html>fake content</html>";
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *builderOptions = @{
DTDefaultFontFamily: @"Helvetica",
DTDefaultFontSize: @14
};
DTHTMLAttributedStringBuilder *stringBuilder = [[DTHTMLAttributedStringBuilder alloc] initWithHTML:data
options:builderOptions
documentAttributes:nil];
NSAttributedString *attrString = [stringBuilder generatedAttributedString];
Zlog(@"attrString %@", attrString);