背景介绍
说起性能调优,感觉枯燥的语言不能引起大家对于性能调优的重视,所以举个不太恰当的例子。
曾经有这么一家工厂,他们的产品从原材料到出厂一共需要经过30条产品线。这家公司的老板对底下的员工曾多次强调过质量的重要性,员工们却不以为然,他们觉得自己做的都很不错。
有一次,老板去视察,走到了一条产品线上,问起工人,这条产品线的合格率能达到多少,那个工人自豪的说,“98%”。老板却并没有十分满意,摇着头走开了。那位工人非常的疑惑。这么高的合格率,老板为什么还是不满意呢?于是这位工人就去向领导打听,领导也不知道,于是后来这位工人直接找到了老板家里,向老板请教。
老板很是诧异,于是就给这位工人简单科普了一下,一条产品线的合格率是98%,并不代表最后总的合格率是98%。应该是这样计算最后的合格率的:x=0.98*0.98*0.98...=0.545
所以,这家公司的生产线的合格率实际上只有54.5%。
这个故事说明的问题其实很简单,我们开发的app的最终性能,都是由每一个细小的部分组合而成的,其中很多部分的内容是进行的乘法,而不是加减,所以想要自己设计的app让用户用的爽,任何一个小的性能问题我们都不能忽略。那么,iOS性能测试是什么?
iOS性能测试是:
●资源消耗
●内存泄漏
●流量消耗
●耗电功率
●渲染效果
●加载时间
●。。。
性能调优的方式:
●通过专门的性能调优工具instruments
●通过优化代码
instruments的三种打开方式:
●Open Developer Tool->instruments
●右键点击Xcode->Open Developer Tool->instruments
●工具通过Xcode工具栏中Product->Profile可以启动
(1) Open DeveloperTool->instruments
(2)右键点击Xcode->Open Developer Tool->instruments
(3)工具通过Xcode工具栏中Product->Profile可以启动
启动后界面如下:
性能工具按需求分类如下:
下面根据需求分类详细介绍instruments,包括”时间、内存、CPU、卡顿、网络、电量”,今天先为大家介绍时间篇。
时间
我们就启动耗时来分析。
●Time profiler
CPU Usage估量时间
Call Tree计算时间
●NSLog
启动耗时--Time profiler
根据CPU Usage估量时间
●Profiler你的app,手动测量,点击Record开始运行
●根据CPU峰值推拽估量时间