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