gpt4 book ai didi

iphone - CALayer 性能与 UIImageView 性能

转载 作者:行者123 更新时间:2023-12-03 18:41:53 25 4
gpt4 key购买 nike

我注意到我在应用程序中对图像执行的一些操作,我可以使用 CALayer 属性来执行(即边框、阴影、渐变等)。所以我想知道,一般来说,使用 CALayers 等是否是一个更好的主意,或者只是在 Photoshop 中完成所有这些工作并使用 UIImage(View) 来满足我的需要?由于阴影和其他东西,滚动性能有点慢,所以我基本上试图找到我能做的每一个小优化。

背景信息:我基本上只是垂直滚动一堆图像。有点像照片应用程序。这都是从 3.2 开始的,所以我可以访问 CALayer 中的 Shadow 和 ShouldRasterize 属性等内容。

最佳答案

关于 CALayer 阴影需要了解的一个关键点是,默认情况下,它们是从图层的合成 Alpha channel 渲染的;这可能非常慢,特别是当图层旋转或改变大小时。您应该查看 shadowPath 属性:如果您为 Core Animation 提供一个简单的形状,例如矩形(UIBezierPath +bezierPathWithRect: 以及图层的bounds 将为您提供[通过其 CGPath 属性] 一个您可以在那里使用的 CGPathRef),您会看到更好的性能。

shouldRasterize 也绝对有用,特别是对于具有许多不经常更改的 subview 的 View ;不过,请确保将图层的 rasterizationScale 设置为 [UIScreen mainScreen].scale,否则在 iPhone 4 等高分辨率屏幕上会出现一些令人讨厌的像素化.

关于iphone - CALayer 性能与 UIImageView 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3169368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com