我很少分析 UIImageView 和 UIImage 的内存分配。
为此,我在 ImageView 中加载了一个大小为 2.1MB 的图像,但是当我通过 xcode-instruments 分析内存分配时,它显示事件字节为 741.50KB,总字节为 1.56MB。
查看所有内存分配列表,找不到我调用的alloc的条目。
这是我的 View Controller 中的代码。
self.imageView.image = [[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"img_background" ofType:@"png"]] autorelease];
我只是想知道为什么 xcode-instrument 中显示的总大小远小于预期。还有为什么上面的alloc没有列在内存分配中。
最佳答案
在这里查看 https://stackoverflow.com/a/7575099/314983 分配工具不包括 OpenGL ES 消耗的内存 - UIImage 的数据实际上由 OpenGL ES 使用。
关于iOS 分析分配不显示通过代码创建的 UIImage 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12049602/