2010-09-16 14 views
0

我只是想通了 - 而不是使用UIImageView來顯示圖像 - 我使用UIWebView,它使用更少的內存。這對任何人都有意義嗎?使用UIWebView在iOS中呈現圖像而不是UIImageView使用的內存少得多。說得通?

我所做的是獲得一個大小約爲280kb的普通.jpg文件,並將其顯示在一個簡單的應用程序中,只有一個UIImageView。查看Instrument的Object Allocations工具,應用程序的內存佔用大約爲3MB。

然後我除去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]]]; 

,然後將存儲器使用下降至約700KB。

有什麼想法?

+0

我懷疑你的3MB儀器:) – vodkhang 2010-09-16 14:30:03

回答

0

我不認爲它會有這麼大的差異,即使最老的iPod Touch也有128MB的RAM。只要正確地分配和釋放它,你應該沒問題。

1

UIWebView縮放您的圖像並裁剪它(當它高於屏幕尺寸時...)這是Apple爲了輕鬆打印每個圖像而使用較少內存的圖像進行的優化...圖像質量隨圖像大小而變化。

UIImageView沒有那種優化。

相關問題