Использование UIWebView для визуализации изображений вместо UIImageView в iOS использует намного меньше памяти.Имеет смысл? - PullRequest
0 голосов
/ 16 сентября 2010

Я только что понял - вместо использования UIImageView для показа изображения - я использую UIWebView, он использует гораздо меньше памяти.Это имеет смысл для кого-нибудь?

Я получил обычный файл .jpg размером около 280 КБ и показал его в простом приложении с UIImageView.Если посмотреть на инструмент Object Allocations, объем памяти приложения составил около 3 МБ.

Затем я удалил UIImageView и добавил UIWebView со следующим кодом:

NSString *html = @"<html><body style='margin:0;'><img src='my_test_image.jpg'></body></html>";
[web loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

, а затем использование памяти сократилось примерно до 700 КБ.

Есть мысли?

Ответы [ 2 ]

1 голос
/ 16 сентября 2010

UIWebView масштабирует ваше изображение и обрезает его (когда оно больше, чем размер экрана ...) Это оптимизация от Apple, чтобы легко печатать каждое изображение на веб-сайте с меньшим использованием памяти ... Качество изображенияизменить с размером изображения.

UIImageView не имеет такой оптимизации.

0 голосов
/ 16 сентября 2010

Я не думаю, что это будет иметь такое большое различие, даже самый старый iPod Touch имеет 128 МБ оперативной памяти. Просто распределите и отпустите все правильно, и все будет в порядке в любом случае.

...