延长:
监控体系不但局限于机能、崩溃率,也可以将统计策略延长到收集请求连通率或者一些营业层面,更好的把控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映射,在直接比如:
-
运营商DNS流量劫持,具体表示在你的H5网页莫名其妙的被加了告白(关于这个问题,也可以做域名白名单,非本域名资本禁止请求,或者H5方面做处理),也有
-
DNS解析延迟过高造成的加载超时导致用户体验差
此时我们可以推敲本身手动做DNS解析,简单点可以在收集请求时将URL中的域名调换掉落,或者在Objective-C中实现NSURLProtocol(Swift中为URLProtocol)的子类对应的办法,做全局调换URL
- @interface LagCollectionTool ()
- {
- int timeoutCount;
- CFRunLoopObserverRef observer;
- BOOL observeLag;
- @public
- dispatch_semaphore_t semaphore;
- CFRunLoopActivity activity;
- }
- @end
- @implementation LagCollectionTool
- + (instancetype)shareInstance {
- static dispatch_once_t onceToken;
- static LagCollectionTool *tool = nil;
- dispatch_once(&onceToken, ^{
- tool = [[LagCollectionTool alloc] init];
- });
- return tool;
推荐阅读
“高德易行平台的上线,标记住高德地图在交通出行计谋进级上迈出了重要一步。其实交通在我看来竽暌剐三元素,就是人、车和路,它们构成了交通核心的关键词。将来高德将以易行平台与交>>>详细阅读
本文标题:iOS如何进行优化项目?
地址:http://www.17bianji.com/lsqh/36461.html
1/2 1