[关闭]
@chenbinghua 2015-09-12T10:36:11.000000Z 字数 597 阅读 1580

iOS开发之动态内存分析

iOS笔记


一、内存分配

在讲动态内存分配之前讲一下应用的内存分配
将应用运行到模拟器或真机后,
点击Product->Profile
此处输入图片的描述
点击后,Xcode启动Instruments(中文为仪器,乐器)
此处输入图片的描述
可以看到Instruments可以针对很多方面进行分析,工作中常用
AllocationsLeaks
Allocations分析应用的内存分配
Leaks动态分析内存泄露

二、用Instruments的Allocations检测imageName和imageWithContentsOfFile方法的区别

imageName:加载图片
1.当对象销毁,图片对象不会随着一起销毁
2.加载的图片占据的内存较大:9.48
3.相同的图片只会加载一份到内存中,如果同时使用,使用同一个对象即可

imageWithContentOfFile:加载图片
1.当对象销毁的时候,图形对象会随着一起销毁
2.加载的图片,占据的内存较小:6.25
3.相同的图片会多次加载到内存中,如果同时使用图片,使用的是不同的对象

总结:
imageName:如果一些图片在多个界面都会使用,并且图片较小,使用频率高.(图标/小的背景图)
imageWithContentOfFile:只在一个地方使用,并且图片较大,使用频率不高.(版本新特性/相册)

三、用用Instruments的Leaks检测Core Foundation的内存泄露

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注