我是靠谱客的博主 安静康乃馨,最近开发中收集的这篇文章主要介绍iOS使用shouldRasterize优化性能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/* 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优化性能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部