Я хотел бы знать объем памяти для объекта 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,1 МБ.
Однако, по моему мнению, UIImageView
должен знать каждый пиксель, чтобы показать изображение, иными словами, он должен иметь память:
4016*2657*4/1024/1024 = 40.7+MB
Он настолько велик, и я не знаю, будет ли iOS выполнять какую-то оптимизацию или нет. И я также не могу найти ничего подходящего в документе.
Может ли кто-нибудь помочь мне, каков точно размер памяти UIImageView
объекта?