我有一个照片拼贴应用程序,它从用户的facebook / instagram /库中获取大量照片,并将一大堆照片绘制到UIView上。为了控制数量,有一个计算密度的滑块工具(例如,每150px宽,添加一个图像)。在添加了大量的UIImageView之后,我遇到了内存问题。
是否有更好,更有效的方式在屏幕上显示图像?
答案 0 :(得分:5)
为什么不使用UICollectionView
。它旨在以类似于UITableVIew
的方式呈现一组对象(包括图像)。像TableView一样,内存由控制器自动管理。
有关详细信息,请参阅documentation。
您没有在问题中明确说明您是如何使用这组图像的。另一种方法是使用Core Graphics将图像绘制到图形上下文中。这会将图像绘制到单个视图中而不是多个视图中。内存中只有一个位图。有关示例,请参阅Drawing a PNG Image Into a Graphics Context for Blending Mode Manipulation。