我是靠谱客的博主 安静康乃馨,这篇文章主要介绍iOS使用shouldRasterize优化性能,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* When true, the layer is rendered as a bitmap in its local coordinate * space ("rasterized"), then the bitmap is composited into the * destination (with the minificationFilter and magnificationFilter * properties of the layer applied if the bitmap needs scaling). * Rasterization occurs after the layer's filters and shadow effects * are applied, but before the opacity modulation. As an implementation * detail the rendering engine may attempt to cache and reuse the * bitmap from one frame to the next. (Whether it does or not will have * no affect on the rendered output.) * * When false the layer is composited directly into the destination * whenever possible (however, certain features of the compositing * model may force rasterization, e.g. adding filters). * * Defaults to NO. Animatable. */ @property BOOL shouldRasterize; /* The scale at which the layer will be rasterized (when the * shouldRasterize property has been set to YES) relative to the * coordinate space of the layer. Defaults to one. Animatable. */ @property CGFloat rasterizationScale;

如果在滚动tableView/collectionView时,每次都在cell中执行圆角设置,肯定会阻塞 UI,设置这个将会使滑动更加流畅。

当 shouldRasterize(光栅化)设成 true 时,layer被渲染成一个 bitmap,并缓存起来,等下次使用时不会再重新去渲染了。

实现圆角本身就是在做颜色混合(blending),如果每次页面出来时都blending,消耗太大,这时layer.shouldRasterize = YES,下次就只是简单的从渲染引擎的 cache 里读取那张 bitmap,节约系统资源。

最后

以上就是安静康乃馨最近收集整理的关于iOS使用shouldRasterize优化性能的全部内容,更多相关iOS使用shouldRasterize优化性能内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部