从目前的手机市场上来看,稳坐销量第一宝座的依然是苹果手机,苹果手机如此受大家喜爱主要得益于其IOS系统,那么为何IOS系统性能这么流畅呢?主要是IOS生态中的这几点保证了IOS系统的流畅运行:①应用沙盒机制、严格的权限管理、②硬件与软件的完美契合、③遵循标准的开发规范和严格的应用上架审核等等,正是以上这几点因素造就了流畅的IOS系统性能。
即便这样,有一些用户反映IOS APP偶尔也会出现性能问题,作为开发人员需要及时优化APP的性能,提升用户的使用体验感,最大程度的减少性能问题的出现。说到APP的性能问题,其中出现最为频繁的就是卡顿现象,那么下面我来给大家简单分享下优化卡顿现象的方法!
卡顿优化 - CPU
①尽量试用轻量级对象,比如用不到事件处理的地方可以考虑试用CALayer取代UIView
②不要频繁的调用UIView的相关属性,比如frame、bounds、transform等属性,尽量减少不必要的修改
③尽量提前计算好布局,在有需要时一次性调整对应的属性,不要多次修改属性
④Autolayout会比直接设置frame消耗更多的CPU资源
⑤图片的size最好刚好跟UIImageView的size保持一致
⑥控制一下线程的最大并发数量
⑦尽量把耗时的操作放在子线程,比如文本处理(尺寸计算、绘制),图片处理(解码、绘制)
卡顿优化 - GPU
①尽量避免短时间内大量图片的显示,尽可能多张突变合成一张显示。
②GPU能处理的最大纹理尺寸是 4096 x 4096,一旦超过这个尺寸,就会占用CPU资源进行处理,所以纹理尺寸尽量不要超过这个尺寸
③尽量减少试图数量和层次
④减少透明的视图(alpha < 1),不透明的就设置opaque为YES
⑤尽量避免出现离屏渲染(设置view的圆角、遮罩、阴影)
以上就是优化卡顿现象的方法,希望能够对大家有所帮助!与此同时,顺便再给大家分享下分析APP性能的方法,这个方法通用于Android APP及IOS APP,那就是使用专业的分析工具!这种方法目前是大多数开发人员所采用的,快捷又高效。比如友盟以及bugly,都是分析检测APP性能的工具,不过我个人更偏向于友盟,里面包含的功能种类也丰富,涉及的领域也更广泛一些。
就比如我们刚刚讲到的卡顿现象,就可以使用友盟来分析检测,其卡顿分析功能可支持Android和IOS采集,Android支持5%采样率,IOS支持全量采集。提供卡顿趋势分析、卡顿列表及卡顿详情日志、支持分系统版本、运营商、APP版本、设备等6个纬度的查看卡顿分布;通过智能告警的方式推送到企业线上办公工具或邮件能力,便于团队内快速响应跟进问题。
友盟的“内存分析”功能也非常不错,由于许多APP自身的原因,出现了许多内存问题;那么,就可以使用友盟内存分析功能,提供内线上OOM异常的监控与分析,帮助开发者及时发现与定位线上OOM问题。同时,提供APP运行阶段内存占用情况,为应用内存优化提供关键指标数据!
总结
无论是系统性能优化也好,还是APP性能优化也罢,都是为了提升用户的使用体验感。总之,性能优化工作还是比较困难的,所以像分析之类的工作,开发人员可以选择使用工具,不但分担了工作压力,还提高了工作效率!