首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CALayer性能与UIImageView性能

CALayer性能与UIImageView性能
EN

Stack Overflow用户
提问于 2010-07-03 06:02:08
回答 1查看 3.6K关注 0票数 6

我注意到,我在应用程序中对图像所做的一些事情,可以改为使用CALayer属性(即边框、阴影、渐变等)。所以我想知道,一般来说,使用CALayers之类的是更好的主意,还是在photoshop中做所有的事情,然后使用UIImage(视图)来做我需要的事情?滚动性能对于阴影之类的东西来说有点慢,所以我基本上是在努力寻找我能找到的每一个小优化。

背景信息:我基本上只是在垂直滚动浏览一堆图像。有点像照片应用。这都是从3.2开始的,所以我可以访问CALayer中的阴影和shouldRasterize属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-03 06:23:27

有关CALayer阴影的一个关键问题是,默认情况下,它们是从层的合成alpha通道渲染的;这可能会非常慢,特别是当层旋转或改变大小时。你应该看看shadowPath属性:如果你给核心动画一个简单的形状,比如一个矩形(带有层的boundsUIBezierPath +bezierPathWithRect:将通过它的CGPath属性给你一个可以在那里使用的CGPathRef ),你会看到更好的性能。

shouldRasterize当然也很有用,特别是对于有许多不经常改变的子视图的视图;不过,请确保将图层的rasterizationScale设置为[UIScreen mainScreen].scale,否则在像iPhone 4这样的高分辨率屏幕上会出现一些令人讨厌的像素。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3169368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档