2010-09-16 22 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没有那种优化。

相关问题