iOS性能调优

作者: 黄花菜先生 | 来源:发表于2017-06-13 23:17 被阅读1189次

    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性能调优

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