【发布时间】:2015-08-13 18:24:43
【问题描述】:
我遇到了一个优化问题。我必须在屏幕上同时显示很多图像(最多 150 个)。这些图像的显示就像是一个可以滚动的球体。
到目前为止,它在新设备上运行 60 fps,但有一些微滞后,我不知道是什么原因。分析器告诉我 59-60 fps,但问题是丢失的 fps 是可见的,并且像微信号一样下降。 如果我大幅减少 imageViews 的数量,这个问题就会消失。 它似乎不受 gpu 限制,因为我最多使用 30% 的 gpu,但 cpu 也从未超过 50%。
什么可能导致这种情况/我如何检测这种微滞后的原因? (图像以 contentOfFile 初始化) 知道至少一半图像不在屏幕上(球体的另一侧),提高性能的最佳解决方案是什么?
-回收 UIImageViews
-将不显示 imageView 设置为隐藏(这是我现在正在做的)
-使用光栅化层(但由于大小每次都在变化,它会重新渲染,对吧?)
-另一个我不知道的神奇解决方案。
如果您想试用该应用程序: https://itunes.apple.com/us/app/oolala-instant-hangout-app/id972713282?mt=8
【问题讨论】:
标签: ios optimization uiimageview uiimage uikit