HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 大型(UI)图像内存管理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一款仅限iPad的iOS应用程序,该应用程序主要从DropBox下载大型高质量图像(JPEG),并在UIScrollView和UI @L_404_0@View中显示所选图像,允许用户缩放和平移图像.

该应用程序主要用于向有兴趣购买它们作为框架打印的潜在客户显示图像.它的工作方式是首先显示,缩放和平移图像,以显示潜在客户,如果他们喜欢图像.如果他们喜欢它,他们可以决定是否要裁剪特定区域(同时保持特定的宽高比/大小),然后将最终图像(裁剪或不裁剪)作为电子邮件附件发送到制作.

我已经面临一段时间的问题是,即使应用程序只能在新的iPad上运行(即更多内存等),我也无法找到处理图像的方法便应用程序没有内存警告,然后崩溃.

大多数图像的大小为4256×2832,每个图像的内存使用量至少为40MB.然我一次只显示一个图像,但图像裁剪(目前主要的内存/崩溃问题)是创建一个新的裁剪图像,这反过来会暂时将应用程序的总RAM使用率提高到大约120MB,从而导致崩溃.

简而言之:我正在寻找一种方法来管理非常大的图像,能够裁剪它们,裁剪后仍有足够的内存将它们作为电子邮件附件发送.

我一直在虑实现一个单独的图像管理器,所有的视图都会使用它,并且它一次只能包含一个大图像,但我不确定这是否是正确的方法,或者即使它是以任何方式提供帮助.

解决方法

解决此问题的一种方法是平铺图像.您可以将大型解@L_801_21@作为一系列图块保存到“磁盘”,并且当用户平移时只拉出您需要实际显示的图块.你一次只需要内存中的1个磁贴,因为你将它绘制到屏幕上,然后将其抛出并加载下一个磁贴. (您可能希望在内存中缓存可见的图块,但这是一个实现细节.即使将整个图像作为图块也可以减轻内存压力,因为您不需要一个大的连续块.)这就是像Photoshop这样的应用程序处理有了这种情况.

大佬总结

以上是大佬教程为你收集整理的ios – 大型(UI)图像内存管理全部内容,希望文章能够帮你解决ios – 大型(UI)图像内存管理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。