2013-07-31 32 views
0

我已经做了一个iphone应用程序,其中我通过FTP &下载图像保存在document Directory.这些图像是高内存大小(约2-3 MB)如何减少文档目录中保存的图像的内存大小?

然后,我与许多行&由于这些图像分配内存过大&这就是为什么应用崩溃显示UITableview这些图像。

所以,我需要减少这些图像的内存大小

我该怎么做?

感谢,图像的

+0

可能重复(HTTP ://stackoverflow.com/questions/2658738/the-simplest-way-to-resize-an-uiimage) – Wain

+1

@iAmbitious,在wha这种方式是调整图像不好的做法? – Wain

回答

2

制作缩略图,你将它们添加到UITableView的之前。通过这种方式,图像的大小会大大减少。在从文档目录中选取的UIImage上使用以下代码。

UIImage *originalImage = ...; 
CGSize destinationSize = ...; 
UIGraphicsBeginImageContext(destinationSize); 
[originalImage drawInRect:CGRectMake(0,0,destinationSize.width,destinationSize.height)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

也可以看看以下链接: - [?要调整的UIImage最简单的方法]的

Thumbnail view of images

http://www.icab.de/blog/2010/10/01/scaling-images-and-creating-thumbnails-from-uiviews/

https://gist.github.com/djbriane/160791

+0

缩略图绝对是您的选择。如果您想避免在设备上创建它们,请考虑从服务器*提供缩略图*。这完全取决于情况。您甚至可以下载*仅*缩略图,然后当用户想要查看全尺寸的图像时,请下载该缩略图。考虑到您避免了几个2-3 MB的图像,这将为用户节省大量带宽。 – Timo

+0

谢谢。有用.. :-) – Rohan