Xcode 8 Instruments 学习

本文深入探讨了Apple的Instruments工具,特别关注如何使用Leaks工具来检测和解决iOS应用的内存泄漏问题。通过介绍Leaks的打开方式、界面详解及内存泄漏动态分析技巧,帮助开发者更好地理解和运用Instruments进行性能优化。
摘要由CSDN通过智能技术生成

最近的几天在看一些Instruments想关的知识,总结分享一下希望对大家有所帮助:

本文章主要介绍的是 Instruments 的相关知识,以及如何使用Instruments的 Leaks 工具。 Instruments 其它的工具会在后面篇文章一一介绍.

前言介绍:
或许很多朋友对Instruments应用不太了解,但可能很多老的iOS开发者都应该用过Instruments工具来检测iOS应用内存泄漏情况。特别是在iOS 5.0之前,即苹果在iOS平台上面还没支持ARC的时候,写iOS应用就类似C语言那样,容易忘记释放内存,而内存对移动设备而言是非常可贵的。即使目前iPhone设备内存已经满足512MB了,但是因为苹果的后台模式是把整个应用封装起来等待下次启用,所以该应用所占用的内存同样被占据了。也就是即使应用进入后台模式,它还是仍然占用原先的内存的,所以你打开的应用越多,内存耗用自然也很多。对很多普通用户而言,往往他们打开的应用都是进入后台模式的,很少有用户清理后台的应用,所以也就造成很多应用其实可用内存还是非常有限地 (题外话:如果苹果原生支持一键清理后台程序就好了,貌似越狱的工具里面有这样的支持的。

还有做过iOS应用自动化测试的开发者,应该对UIAutomation很熟悉吧。它就是通过JS脚本来写界面自动化测试用例。而Instruments应用对UIAutomation支持很完善,你可以通过它查看很多代码潜在的问题,并测试性能。

其实Instruments应用还有很多强大的功能,它原生支持很多instrument工具,帮助你分析你的代码,不仅包括内存检测和自动化测试,它还可以监测文件读写操作等等。所以一个好的iOS开发者是应该掌握Instrument应用的使用。因为Instruments应用本身功能太强大的,所以完全掌握机会不可能,但是因为它们内置的很多工具具有相似性,所以基本掌握自己常用的即可。同时了解一下内部有哪些功能,这样在你需要用到的时候再查查文档,就可以很快上手了。

以上段落来源链接


正文 Instruments 的介绍:

Instruments 是一个很灵活的、强大的工具;是性能分析、动态跟踪 和分析OS X 以及iOS代码的测试工具;用它可以极为方便收集关于一个或多个系统进程的性能和行为的数据,并能及时随着时间跟踪而产生的数据,并检查所收集的数据,还可以广泛收集不同类型的数据;也可以追踪程序运行的过程,这样instrument就可以帮助我们了解用户的应用程序和操作系统的行为。

总结一下instrument能做的事情:

1.Instruments是用于动态调追踪和分析OS X和iOS的代码的性能分析和测试工具;
2.Instruments支持多线程的调试;
3.可以用Instruments去录制和回放,图形用户界面的操作过程
4.可将录制的图形界面操作和Instruments保存为模板,供以后访问使用。

或者说:

1.追踪代码中的(甚至是那些难以复制的)问题;
2.分析程序的性能;
3.实现程序的自动化测试;
4.部分实现程序的压力测试;
5.执行系统级别的通用问题追踪调试;
6.使你对程序的内部运行过程更加了解。
以上资料链接


instrument 模板虽多,但常用的就那几个(这里也只介绍几个常用的工具):
  • Leaks(泄漏):一般的查看内存使用情况,检查泄漏的内存,并提供了所有活动的分配和泄漏模块的类对象分配统计信息以及内存地址历史记录;
  • Time Profiler(时间探查):执行对系统的CPU上运行的进程低负载时间为基础采样。
  • Allocations(内存分配):跟踪过程的匿名虚拟内存和堆的对象提供类名和可选保留/释放历史;
  • Activity Monitor(活动监视器):显示器处理的CPU、内存和网络使用情况统计;
  • Blank(空模板):创建一个空的模板,可以从Library库中添加其他模板;
  • Automation(自动化):这个模板执行它模拟用户界面交互为IOS机应用从instrum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值