Instruments分析并优化iOS性能(已更新到XCode9)

我的博客搬家了

使用Xcode自带的Instruments工具,检测CPU

Instruments

打开Instruments:Xcode -> Product -> Profile 或者 cmd + i
启动后如下:


Instruments分析并优化iOS性能(已更新到XCode9)_第1张图片
Instruments.png

其中常用的有用来检测内存泄露的Leaks和查看CPU消耗情况的Time Profiler。下面介绍查看CPU使用情况的Time Profiler

Time Profier

  1. 打开Time Profier
Instruments分析并优化iOS性能(已更新到XCode9)_第2张图片
Timer profile 9.0.png

要查看每个函数的CPU性能,直接双击函数就可以定位到代码了。
函数前面的数值是所用时间,可以根据这个时间判断是是否需要优化。

有了上面的基础知识就可以对App的CPU消耗情况进行实时检测了。

常见的对CPU消耗过高的操作

  • 加载图片
    两种不同方式在相同时间内的CPU消耗情况对比:
    Paste_Image.png

    屏幕快照 2016-03-13 下午6.25.34.png

    并且,使用5s真机测试以下代码40s后Memory过高造成闪退,但是使用imageWithContentOfFile数分钟后没有出现闪退现象
while (1)
    {
        [UIImage imageNamed:@"58_58"];
    }
  • 初始化对象
    • 正则表达式
    • 时间戳


      屏幕快照 2016-03-13 下午6.37.50.png

在需要多次使用的地方尽量只初始化一次,然后多次使用

  • 视图布局
/-(void)layoutSubviews
{
    // do something
}
[view setNeedsLayout];
[view layoutIfNeeded];

这些函数尽量不要使用。每对view进行一次重新布局就会对CPU增加很多消耗。

  • 绘制图层
    需要用到
[layout rendInContext:]

的地方尽量换成iOS7以后新增的方法:

[view drawViewHierachyInRect:]

性能同样可以获得很大的提升

上面的内容如有错误,还请在评论区指出。如果对您有帮助请给个赞,谢谢。

我的博客搬家了

你可能感兴趣的:(Instruments分析并优化iOS性能(已更新到XCode9))