我正在开发一款仅限iPad的iOS应用程序,该应用程序主要从DropBox下载大型高质量图像(JPEG),并在UIScrollView和UI
ImageView中显示所选图像,允许用户缩放和平移图像.
该应用程序主要用于向有兴趣购买它们作为框架打印的潜在客户显示图像.它的工作方式是首先显示,缩放和平移图像,以显示潜在客户,如果他们喜欢图像.如果他们喜欢它,他们可以决定是否要裁剪特定区域(同时保持特定的宽高比/大小),然后将最终图像(裁剪或不裁剪)作为电子邮件附件发送到制作.
我已经面临一段时间的问题是,即使应用程序只能在新的iPad上运行(即更多内存等),我也无法找到处理图像的方法以便应用程序没有内存警告,然后崩溃.
大多数图像的大小为4256×2832,每个图像的内存使用量至少为40MB.虽然我一次只显示一个图像,但图像裁剪(目前主要的内存/崩溃问题)是创建一个新的裁剪图像,这反过来会暂时将应用程序的总RAM使用率提高到大约120MB,从而导致崩溃.
简而言之:我正在寻找一种方法来管理非常大的图像,能够裁剪它们,裁剪后仍有足够的内存将它们作为电子邮件附件发送.
我一直在考虑实现一个单独的图像管理器,所有的视图都会使用它,并且它一次只能包含一个大图像,但我不确定这是否是正确的方法,或者即使它是以任何方式提供帮助.