我正在寻找动画解决方案,大约有50张图像在视网膜iPad上,每张都有2048 * 1536尺寸。我想在手指移动时为它们设置动画(在uiimageview上同步触摸移动事件更改图像)。图像加载缓慢,动画冻结。我想找到解决这个问题的任何解决方案。感谢。
答案 0 :(得分:0)
有几个问题使得这种情况很难处理。首先,50个全屏图像的内存使用量非常大。有关实际需要多少内存的一些背景信息,请参阅此博客文章Video and Memory usage on iOS devices。您遇到的第二个问题是CPU使用率。视网膜iPad具有多个CPU,但解码巨大的PNG图像仍然需要大量的CPU周期,这将阻止动画顺利运行。因此,使这种方法运行良好的唯一方法是避免在运行时解码图像数据,并避免将所有解码数据保存在内存中,因为这会使设备崩溃。最好的解决方案是简单地mmap()所有解码数据并提前解码,这样就可以将图像数据blit到CoreGraphics而无需实际复制数据。如果您想使用我的库来完成所有这些工作,那么它将链接在博客文章的底部。