1

我意识到使用cornerRadius 或阴影或其他Core Graphics 属性的性能会降低应用程序的性能(就像向下滚动UITableView 时,它很慢)。有没有办法在使用它时提高速度和性能?

4

3 回答 3

1

我使用仪器进行了一些分析,在我看来,CALayer 的cornerRadius 属性显然存在性能问题。

我有一个包含多个标签、图像和按钮的复杂 TableViewCell 子类的 tableView。

当没有设置cornerRadius时,滚动时我得到大约56fps,但如果我设置图像的角半径,每秒帧数会下降到大约33。

我发现这篇文章非常有用:有一个答案建议为图层创建蒙版而不是设置cornerRadius。根据我的测试,性能要好得多。

于 2012-08-22T23:24:03.340 回答
0

Tipsy,通过使用cornerRadius或maskToBound属性或quartzCore框架的任何其他实例/类方法没有这样的性能问题。尝试运行仪器以找到它的确切原因。我确信这不是因为任何其他 Core Graphics 属性。

希望有帮助!

于 2012-05-03T07:05:59.493 回答
0

这是一个相当模糊的问题。在图层上设置阴影有一个众所周知的性能问题,这主要可以通过设置阴影路径来解决。我不知道拐角半径会导致任何问题。

于 2012-05-03T07:09:11.950 回答