最近,我一直在尝试通过使用已经分配的 UIImageViews 和 UIImages 来最小化分配和复制资源作为图像所花费的时间,从而节省渲染时间。
我尝试做的是维护所有 UIImages 的地图 - 每个都是唯一的,并根据游戏引擎的要求将每个 UIImageView 重新分配给多个 UIImageView。随着游戏的进行,我从显示中删除了一些 UIImageViews,稍后可能会使用不同的预加载 UIImages 重用它们。
第一次创建 UIImageView 时,我会执行以下操作:
m_ImageView = [[UIImageView alloc] initWithImage : initialImg];
[m_ParentView addSubview: m_ImageView];
以下时间我只是切换图像:
[m_ImageView.image 发布];
[m_ImageView setImage otherSavedImg];
问题是切换后显示的新图像大小与初始图像大小相同。我通过每次重新创建 UIImageView 绕过了这个问题(这似乎是浪费时间),但我想知道为什么会发生这种情况以及如何防止它。
谢谢,