Instruments使用技巧
来源:互联网 发布:unity3d转场效果 编辑:程序博客网 时间:2024/05/29 07:38
在MRC的黑暗时代 ,内存管理真的是费废掉大半时间 来解决内存问题,还好我停留在Mrc的年代寥寥无几;ARC出来以后,镇时代了了太多的方便, 但是不代表就没有内存泄露这种事情发生,最近接到了一个项目,发现内存超鸡大,我就检测了一下,发现好多内存泄露,那么接下来我们介绍一下如何 用工具定为内存泄露;
接下来介绍一下Leaks 的用法:https://developer.apple.com/library/prerelease/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/ProfilingTemplates.html#//apple_ref/doc/uid/TP40004652-CH19-SW5(官方使用文档)
第一步 :打开方式1:
然后选择
打开方式2:cmd+ control + I ;
第二步:把你所要检测的工程运行起来 cmd +R ;
第三步:选中xcode 然后 cmd+ control + I ,选择确定,然后leaks就已经开始在运作了;
第四步:
如红色箭头处,这种红色X的地方就是内存泄露的地方;
第五步:接下来 就可以进行 内存泄露定位工作了,首先我们得找到 上图 有个“田”样式的图案 把那个Statictics 改成 Call Trees 你就可以看到 其右侧有一个“齿轮形状”的设置按钮,
Separate By Thread:线程分离,只有这样才能在调用路径中能够清晰看到占用CPU最大的线程.
Invert Call Tree:从上到下跟踪堆栈信息.这个选项可以快捷的看到方法调用路径最深方法占用CPU耗时,比如FuncA{FunB{FunC}},勾选后堆栈以C->B->A把调用层级最深的C显示最外面.
Hide Missing Symbols:如果dSYM无法找到你的APP或者调用系统框架的话,那么表中将看到调用方法名只能看到16进制的数值,勾选这个选项则可以隐藏这些符号,便于简化分析数据.
Hide System Libraries:这个就更有用了,勾选后耗时调用路径只会显示app耗时的代码,性能分析普遍我们都比较关系自己代码的耗时而不是系统的.基本是必选项.注意有些代码耗时也会纳入系统层级,可以进行勾选前后前后对执行路径进行比对会非常有用.
一般选中我所打箭头的两个 就可以清晰地看到,内存泄露的定位
既然找到了位置 ,能不能改好,就看你咯;我们今天就讲一个功能的用法;
- Instruments使用技巧
- Instruments使用技巧
- Instruments使用技巧
- Instruments使用技巧
- Instruments使用技巧
- Instruments使用技巧
- Instruments 使用技巧 Time Profiler
- Instruments使用
- Instruments 使用
- Instruments使用
- Instruments使用
- iPhone Instruments工具使用
- Instruments的使用
- iPhone Instruments工具使用
- 【IOS】Instruments 使用教程
- iPhone Instruments工具使用
- iPhone Instruments工具使用
- Instruments工具的使用
- mongodb 修改用户密码 2种方法
- 建表、更新、查询综合练习
- Ubuntu 16.04Caffe配置出现问题解决方法
- Light oj 1148 - Mad Counting【模拟】
- js map
- Instruments使用技巧
- LNMP下PHP网站性能压力测试工具WebBench安装教程
- oracle EBS采购订单各表作用分析
- 关于项目中读取文件的探讨
- labview与access数据库的链接
- Linux lsof命令详解
- sql server 判断 不等于
- 【Eclipse】eclipse错误之Context root cannot be empty
- xcode8 libpng error: CgBI: unhandled critical chunk