作家
登录

iOS如何进行优化项目?

作者: 来源: 2017-07-31 08:31:53 阅读 我要评论

  •             CFRunLoopRunInMode((CFStringRef)mode, 0.001, true); 
  •         } 
  •     } 
  •     CFRelease(allModes); 
  •     signal(SIGABRT, SIG_DFL); 
  •     signal(SIGILL, SIG_DFL); 
  •     signal(SIGSEGV, SIG_DFL); 
  •     signal(SIGFPE, SIG_DFL); 
  •     signal(SIGBUS, SIG_DFL); 
  •     signal(SIGPIPE, SIG_DFL); 
  • 延长:

    监控体系不但局限于机能、崩溃率,也可以将统计策略延长到收集请求连通率或者一些营业层面,更好的把控App的质量

    2.3 机能调优&App体验优化

    前面我们介绍了若何有效地削减崩溃及优雅地处理崩溃,下面来看看解决机能问题须要留意几点。

    2.3.1 懒加载的利与弊

    懒加载实用于一些可能不会加载的页面,比如弹框、空数据页面之类的,应用合适可以避免内存暴涨,应用不好,比如在必定会弹出的页面中应用懒加载可能会在增长页面响应时光,所以应用懒加载必定要留意应用处景,避免产生副感化

    2.3.2 避免应用重绘

    重写 drawRect 或者 drawReact:inContext办法会默认创建一个图层高低文,图形高低文所须要的内存为图层宽 * 图层高 * 4字节,图层每次进行重绘时都须要抹掉落内存从新分派,会产生巨大年夜的机能开销

    UIView类实际上是对CALayer的封装,关于UI层面的机能优化有很多器械,可以看看iOS CoreAnimation 核心动画高等编程中关于图层机能的一章

    2.3.3 App体验优化

    谈起App体验优化,其拭魅这是个形而上学,你须要在机能与体验上找到一个均衡点,常见的糟糕的体验包含:

    • UITableViewCell 应用欠妥造成滑动卡顿

    • 大年夜量cornerRadius和maskToBounds一路应用造成的离屏衬着造成的机能问题

    • 收集请求操作没有任何状况展示,比如加载框、按钮置灰等

    • 收集请求没有进行缓存

    这些问题只是App的细节,然则大年夜细节入手才能更显的专业~

    我们重点谈谈收集请求优化:

    用www.manoboo.com来举例,经由过程域名拜访起首会寻找DNS解析办事器,然后才会映射到本身的办事器IP上。我们直接应用IP请求接口拜访收集资本,可以避免很多问题,然则有利有弊,须要本身保护DNS映射,在直接比如:

    1. 运营商DNS流量劫持,具体表示在你的H5网页莫名其妙的被加了告白(关于这个问题,也可以做域名白名单,非本域名资本禁止请求,或者H5方面做处理),也有

    2. DNS解析延迟过高造成的加载超时导致用户体验差

    此时我们可以推敲本身手动做DNS解析,简单点可以在收集请求时将URL中的域名调换掉落,或者在Objective-C中实现NSURLProtocol(Swift中为URLProtocol)的子类对应的办法,做全局调换URL

    1. @interface LagCollectionTool () 
    2.     int timeoutCount; 
    3.     CFRunLoopObserverRef observer; 
    4.     BOOL observeLag; 
    5. @public 
    6.     dispatch_semaphore_t semaphore; 
    7.     CFRunLoopActivity activity; 
    8.   
    9. @end 
    10.   
    11.   
    12. @implementation LagCollectionTool 
    13.   
    14. + (instancetype)shareInstance { 
    15.     static dispatch_once_t onceToken; 
    16.     static LagCollectionTool *tool = nil; 
    17.     dispatch_once(&onceToken, ^{ 
    18.         tool = [[LagCollectionTool alloc] init]; 
    19.     }); 
    20.     return tool; 

        推荐阅读

        从交通三元素看高德易行新平台

      “高德易行平台的上线,标记住高德地图在交通出行计谋进级上迈出了重要一步。其实交通在我看来竽暌剐三元素,就是人、车和路,它们构成了交通核心的关键词。将来高德将以易行平台与交>>>详细阅读


      本文标题:iOS如何进行优化项目?

      地址:http://www.17bianji.com/lsqh/36461.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)