ios - UIImageView 的内存大小

标签 ios uiimageview memory-management

我想知道 UIImageView 对象的内存大小,因为我需要显示一些大图像并且我需要处理内存。我想这是由图像属性决定的。但是我不确定如何计算精算内存大小,下面是我写的测试代码:


    //1.jpg has a size of 4016X2657 and 2.1MB
    NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]];
    NSLog(@"imageData:%d",[imageData length]);

控制台显示:


 imageData:2070461

这正好是 2.1MB 的大小。

但是,在我看来,UIImageView 应该知道显示图像的每个像素,换句话说,它应该有一个内存: 4016*2657*4/1024/1024 = 40.7+MB 这么大,不知道iOS会不会做一些优化,而且文档里也找不到相关的。

谁能帮我 UIImageView 对象的确切内存大小是多少?

最佳答案

问题中有描述。内存是照片的精算尺寸,UIImage不会做优化。

关于ios - UIImageView 的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251335/

相关文章:

image - 如何查看.img文件?

ios - 在 Swift 中从 UIImageView 检索 UIImage

linux - 使用系统调用造成缓存污染

c++ - 创建的 “new”实例的所有成员变量是否都存在于堆中而不是堆栈中?

iphone - iOS:将 6x6 400x300px 图像添加到一张合成图像

ios - 使用私有(private) API 读取 WiFi RSSI 值

ios - 使用UITableView动态显示NSManagedObject的各个属性

ios - 通过 iOS 应用 Facebook API 向 friend 发送私有(private)消息

ios - 如何让 UIImageView 填充 UITableViewCell?

objective-c - 泄漏对象在测试场景中是否被认为是好的?