WTF?怎么看到的是一堆十六进制内存地址?要这一堆有卵用?别着急,往下看。php
上面说到,折腾了半天仍是没能看到咱们本身的函数。原来,咱们的应用在编译的时候,苹果会给咱们生成一份叫作 “项目名.app.dSYM” 的文件,这份文件里保存了咱们代码的行数以及咱们写的函数的十六进制地址。也就是说,若是咱们能拿到这份文件和函数的十六进制地址,咱们就能去咱们的代码里找到那个函数。git
为了TimeProfiler能去咱们的项目里找到对应的函数,因此咱们应该为TimeProfiler配置获取这份文件的环境,也就是做以下配置:程序员
0一、配置项目的Scheme。github
0二、配置Project。app
通过上面的配置,咱们再从新运行项目,而后按照上面的方式配置TimeProfiler,你就能看到下面的结果:ide
能够看到,我为了演示阻塞主线程写了一个叫作blockMainThread的方法函数
-(void)blockMainThread{ for (int i = 0; i < 1000; i++) { NSLog(@"%d", i); } }
在tableView中滑动cell时,每循环一个cell就会调用这个blockMainThread方法,这样会致使主线程被阻塞,以致于界面出现卡顿。而这一切都反应到了TimeProfiler的监听结果里,经过层级关系,咱们能看到blockMainThread方法占用了90.4%的时间,并且咱们还能够右键这个方法,就会出现Reveal in Xcode,点击就能直接跳转到Xcode中对应的方法里了,很是方便。性能
最后,这里有一个关于性能问题很奏效的文章,感兴趣能够研究一下。spa
下面这个连接是我全部文章的一个集合目录。这些文章凡是涉及实现的,每篇文章中都有GIT地址,GIT上都有源码。若是某篇文章恰好在你的实际开发中帮到你,又或者提供一种不一样的实现思路,让你以为有用,那就看看这句话 “坚持天天点赞的人,99%都是帅哥美女,不再用单身了😀”线程
你还能够关注我本身维护的简书专题iOS开发心得。这个专题的文章都是实打实的干货。
若是你有问题,除了在文章最后留言,还能够在微博@盼盼_HKbuy上给我留言,以及访问个人Github。
做者:NewPan 连接:http://www.jianshu.com/p/0fd670547235 來源:简书 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。