iOS内存分析方法(静态内存和动态内存分析)

1.静态内存分析

静态内存分析采用Xcode自带的Aanlyze进行分析,此方法不用运行项目,只是根据代码上下文进行的分析,只能检测可能的内存泄露。

2.动态内存分析

动态内存分析(Instrument工具:Xcode->Product->Profile)

动态的对内存进行分析,大多时候只是堆内存的分析。

2.1.动态加载图片的内存分析

imageNamed 和imageWithContentOfFile方法的比较

2.1.1. imageName:加载图片

a.当imageview对象销毁时候,图片对象不会随着一起销毁。

b.加载的图片占据的内存比较大

c.相同的图片只会加载一份到内存中,如果同时使用,上使用的是同一个图片对象。

2.1.2 imageWithContentOfFile:加载图片

a.当imageView对象销毁的时候,图片对象会随着一起销毁

b.加载的图片占用的内存比较小。

c.相同的图片对象会多次加载到内存中,如果同时使用图片。使用的是不同的对象。


总结:imageName:如果一些图片在多个界面都会使用,并且图片较小,使用频率高。(图标/小的背景图)。

imageWithContentOfFile:只在一个地方使用,并且图片比较大,使用频率不高。(版本新特性,/相册)。



另附Instrument工具的使用:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容