iOS性能调优

YY总结iOS 保持界面流畅的技巧

基于 CADisplayLink 的 FPS 指示器详解

iOS核心动画高级技巧

iOS-Core-Animation-Advanced-Techniques

iOS 性能调优

离屏渲染优化详解:实例示范+性能测试

iOS-离屏渲染详解

iOS 离屏渲染的研究

绘制像素到屏幕上

UITableView优化技巧

sunnyxx优化UITableViewCell高度计算的那些事

iOS 非常流畅的滑动tableView

怎么优化列表使之流畅

内存恶鬼drawRect - 谈画图功能的内存优化

使用 ASDK 性能调优 - 提升 iOS 界面的渲染性能

理解UIView的绘制

iOS-Main -关于Instruments-Leaks工具的归纳总结

Xcode里的Instruments工具:Leaks、Allocations、Time Profiler、Automation

UIKit性能调优实战讲解

一次立竿见影的启动时间优化

1.影响界面流畅性的关键点

  1. 网络请求,大部分网络请求都应该使用后台线程完成,如果你使用的是 AFNetworking、 SDWebImage 这些开源缓存库,那么切换到后台去请求网络资源的操作都已经默认完成。
  1. 本地数据读写和计算,当你需要从闪存中读取文件的时候,这些操作都应该使用GCD或者NSThread切换至后台线程中完成。
  1. 图像的处理,尽量使用合适的UIImage给予UIImageView使用,何谓合适?已经提前剪裁、缩放好的图片是最佳的,否则当UIImage赋予UIImageView.image的时候,iOS会有不必要的计算开销,而这些开销却是可以提前手动缓存起来的。
  1. Layer 属性的谨慎选择,不合理的 Layer 特效(阴影、圆角)都会使流畅的滑动变成卡顿(非常重要)。
  1. 少用 UIView.backgroundColor = UIColor.clearColor(),透明的背景会加剧卡顿。
  1. 文字的渲染,你可能不知道,文字的渲染也是需要开销的。一般来说,文字渲染的开销非常小,甚至不能察觉到。但是,当一个UILabel被赋予大段富文本文字后,开销就会非常大。
  1. 图像的渲染,一个任何开发者、几乎所有库(包括SDWebImage)都无法解决的问题,图像在UIImageView中的渲染开销,并且图像的渲染只能在主线程中执行。

2.APP启动时间计算方法

CFAbsoluteTime StartTime;

int main(int argc, char * argv[]) {
    @autoreleasepool {
        StartTime = CFAbsoluteTimeGetCurrent();
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

extern CFAbsoluteTime StartTime;
 ...

// 在 applicationDidFinishLaunching:withOptions: 方法的最后统计
dispatch_async(dispatch_get_main_queue(), ^{
    NSLog(@"Launched in %f sec", CFAbsoluteTimeGetCurrent() - StartTime);

你可能感兴趣的:(iOS性能调优)