iOS性能优化

作者: 欢欢1206 | 来源:发表于2017-05-22 15:15 被阅读62次

    最近空窗期,有了angularJS的基础,学习了小程序没那么费事,闲来把以前的一个项目做了下性能优化,以下是做的处理

    • instruments
    1、Time Profiler,查看程序哪些部分最耗时
    2、Leaks,查看内存是否泄漏
    3、Allocation,查看内存分配
    4、Core Animation,打开Color Blended Layers,所有红的都是降低fps的敌人,能改则改(opaque设置为YES,给个背景颜色)
    
    
    • 不要阻塞主线程
    请求数据等做耗时动作,放在子线程
    
    
    • cache

    • 减少程序启动过程中的任务

    • 使用合适的数据结构

    • 对数组、字典进行安全封装

    • 懒加载view

    • 尽量把views设置为不透明,设置它们的opaque属性为YES

    • 优化Table View

    1.正确使用reuseIdentifier来重用cells
    2.尽量使所有的view opaque,包括cell自身
    3.避免渐变,图片缩放,后台选人
    4.缓存行高
    5.如果cell内现实的内容来自web,使用异步加载,缓存请求结果
    6.使用shadowPath来画阴影
    7.减少subviews的数量
    8.尽量不使用cellForRowAtIndexPath,如果你需要用到它,只用一次然后缓存结果
    9.使用正确的数据结构来存储数据
    10.使用rowHeight, sectionFooterHeight和 sectionHeaderHeight来设定固定的高,不要请求delegate
    
    • 合理获取图片
    
    1.imageNamed(会缓存),图片反复重用
    2.imageWithContentsOfFile,加载一个大图片而且是一次性使用
    
    
    • 缓存cell的layer,优化tableView性能
        cell.layer.shouldRasterize = YES;
        cell.layer.rasterizationScale = [UIScreen mainScreen].scale;
     cell.layer.drawsAsynchronously = YES;
    

    相关文章

      网友评论

        本文标题:iOS性能优化

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