性能优化二

一、autolayout对性能影响有多大?

http://pilky.me/36/ 如图一所示。当view的个数不超过200,autolayout 与手动布局的差别不大。

性能优化二_第1张图片
图一

二、轻量化主线程

2.1 图片预加载。

  • 使用Timer Profiler工具检查,代码如下所示。
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imgView;

@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    
}
- (IBAction)btnClicked:(UIButton *)sender {
    self.imgView.image = [UIImage imageNamed:@"1.png"];
}
  • 点击按钮,Timer Profile工具分析如图二所示。
    性能优化二_第2张图片
    图二

    耗时代码如图三所示。


    性能优化二_第3张图片
    图三
  • 使用后台线程来优化耗时操作。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        UIImage *image = [UIImage imageNamed:@"1.png"];
        dispatch_async(dispatch_get_main_queue(), ^{
            self.imgView.image = image;
        });
    });

Timer Profile工具运行如图四所示


性能优化二_第4张图片
图四

2.2 CoreText

练习富文本 ,自己写一个图文混排。

三、性能优化--缓存

图片缓存,计算高度缓存等等

未完待续

你可能感兴趣的:(性能优化二)