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

我的博客搬家了

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

Instruments

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


Instruments.png

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

Time Profier

  1. 打开Time Profier
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:]

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

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

我的博客搬家了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容