eoL*_*hic 2 iphone cocoa-touch objective-c uiimageview ios
因此,这是一个非常简单的问题。我有一个带有按钮的屏幕。每次用户点击按钮时,我们都会让用户从其“照片”中选择一张全景照片,并添加一个UIImageView来显示全景照片。每个UIImageView都有一个〜375x150点的帧(以在iPhone 6上完全显示全景照片)。
问题是,当我们添加第二个UIImageView时,我们在NSLog中收到一个错误:“到资产的连接被中断或资产被终止”。另外,我们会出现轻微的UI“冻结”。但是UIImageView显示第二张照片,我们绝对可以。
当我们添加第三个UIImageView时,该应用程序将崩溃并且Xcode显示“与“管理员的iPhone 6”的连接断开”。
考虑到全景照片分辨率(〜13600x〜3000),应用崩溃并导致UI死机的原因是完全可以理解的。问题是:是否存在(除了简单地压缩照片并在屏幕上显示调整大小的版本以外)以显示大量全景照片而没有滞后?看着“照片”应用程序,它将显示全景照片,没有任何错误,并且没有任何UI冻结。
您的问题看似简单。没错,图片大小意味着您的应用正在解决内存问题。您正在向a传递巨大的图像,UIImageView并希望它将为您处理所有事情。不会,没有那么多数据。
内置的照片应用解决此问题的方法是使用一种称为平铺的技术,并结合调整大小。它的工作原理如下:
在Google周围,您也许可以找到一个可以为您解决的图书馆,而且我认为甚至有Apple提供的示例(请参见此问题)。否则,自己编写是一种有趣的学习经历。
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |