我正在添加几个CALayers作为UIView层的子层.每层的内容是从服务器下载的不同图像.每个图层从屏幕外动画到随机生成的位置.图像数据是异步下载的.每幅图像约为300×300或更小.
作为随机放置的结果,层重叠,一些层被它们上面的层遮挡.这一切都很好.
我正在使用the answer to this question中的建议删除图层,因为它们变得完全被遮挡.确定覆盖率的计算发生在单独的线程上.
我有一个UIPanGestureRecognizer,允许用户在屏幕上拖动图层.
当添加的层数接近25-30并且逐渐变差时,我遇到了性能问题.动画变得不稳定并且通常完全不存在(新添加的层只是出现在它们的最终位置).并且平移手势被忽略或导致所选层的不稳定重新定位.
我假设我正在杀死GPU,所有的层重叠,另一层动画在上面?
有关如何提高性能的任何建议?
处理大量图层的最佳做法?
让图层在单独的view.layer中开始动画比以前添加的图层更好吗?
谢谢!