一、概要
Instruments 是目前Mac OS X 和 iOS开发最强大的性能优化工具,提到Instruments自然会联想到处理内存问题,但它不仅仅局限于此,Instruments包含以下功能:
1、分析程序进程行为
2、分析内存分配及释放细节
3、查找CPU问题
4、查找程序性能瓶颈
5、自动化测试代码
虽然iOS5引入了ARC内存管理机制,但实际项目中对象之间引用复杂,循环引用引起内存泄漏仍然难以解决,这个时候就需要真正的掌握程序的行为,然后找出问题所在,这些都可以使用Instruments解决。
二、本文重点
借助Instruments分析程序的内存分配及泄漏
Instruments使用起来并不难,但问题在于工具默认设置的无法正确工作,如果重新配置后就会发现这是个很给力的工具,能很快的找出项目中存在的问题,本文通过以上两个重点来描述Instruments的入门技巧,让更多新手熟悉并使用Instruments。
三、Instruments入门
1、借助Instruments分析程序的内存分配与释放
1)分析内存分配
新建一个项目,合适位置添加如下代码(对有一点iOS开发经验都可以搞定)
这段代码会定时2秒不断的创建UIView
- (void) leakMethd
{
for (int i = 0; i< 100; i++) {
UIView *aView = [[UIView alloc] init];
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(leakMethd) userInfo:nil repeats:YES];
}
下面打开Instruments来分析程序的内存分配行为:打开方式Product -> Profiler,或者快捷键 Cmd + i
选择 Allocations工具,点击Profile,这时模拟器会启动,并且Instruments界面如下