打开Allocations
1.首先,将程序安装到模拟机或真机上;
2.点击Product,再点击Profile,打开Instruments
3.选择Allocations
4.先选择程序,再开始录制(开始录制会自动开启程序)
录制过程:
All Heap & Anonymous VM: 实际用到的内存和操作系统分配的匿名虚拟内存。
Anonymous VM(匿名虚拟内存)是系统为程序预留的、可能会立即被重复使用的一部分可用内存。
如果不想看到匿名虚拟内存,可以在Display Settings设置:
监控场景:UIImage加载图片
监控发现:
1.使用imageNamed方法加载图片:当对象(UIImageView)销毁,图片对象不会随着一起销毁。
缺:加载的图片占据的内存较大;
优:相同的的图片只会加载一份到内存中,如果多个对象同时使用,使用同一个图片对象即可。
2.使用imageWithContentsOfFile方法加载图片:当对象(UIImageView)销毁,图片对象会随着一起销毁。
优:加载的图片占据的内存较小。
缺:相同的图片会多次加载到内存中,如果多个对象同时使用,使用的是不同的图片对象。
总结两个方法的适用场景:
imageNamed——图片多个界面要使用,图片较小、使用频率高(图标、小的背景图)
imageWithContentsOfFile——只在一个地方使用,图片较大、使用频率不高(版本新特性、相册)
【注意】
1.如果修改了程序代码,想要重新监控程序的内存分配,首先停止录制;
2.然后Xcode重新运行一次(重新安装在模拟机和真机上),再关闭,再开始录制;
3.如果不重新安装再点录制,监控的会是之前的程序。