设置cornerRadius和masksToBounds会导致屏幕外渲染,因此在滚动表格时会影响性能。虽然之前已经提到了很多,但有没有人在iOS 9中对此进行过实验?
这是我的demo,设置cornerRadius似乎对滚动性能没有任何影响。在我的iPhone 6上,平均fps仍然是57或58。
iOS 9是否进行了任何优化,或者我做错了什么?
顺便说一句,我注意到当UIImageView是一个正方形(宽度=高度)时,设置一些UIImageView的conner不会导致屏幕外渲染。这是怎么发生的?
答案 0 :(得分:0)
您误解了cornerRadius
和masksToBounds
的警告内容。您只需在单元格中设置某些图像视图的cornerRadius
和masksToBounds
。滚动表格视图时,这些图像视图不是动画的内容:它是动画的单元格。细胞内部已完全复合;它不必在动画的每一帧上重新编译。
如果您设置了每个单元格的cornerRadius
和masksToBounds
,您可能会看到对滚动产生更严重的影响。
答案 1 :(得分:0)
似乎我没有为细胞添加足够的图像。当呈现图像的数量达到30或更多时,对性能的影响变得明显。平均fps下降到33。