當(dāng)shouldRasterize設(shè)成true時(shí),layer被渲染成一個(gè)bitmap,并緩存起來,等下次使用時(shí)不會(huì)再重新去渲染了。實(shí)現(xiàn)圓角本身就是在做顏色混合(blending),如果每次頁面出來時(shí)都blending,消耗太大,這時(shí)shouldRasterize = yes,下次就只是簡單的從渲染引擎的cache里讀取那張bitmap,節(jié)約系統(tǒng)資源。
但是
1.如果我們更新已光柵化的layer,會(huì)造成大量的offscreen渲染。
2.被光柵化的圖片如果超過100ms沒有被使用,則會(huì)被移除
3.不要過度使用,系統(tǒng)限制了緩存的大小為2.5X Screen Size.
TableViewCell的重繪是很頻繁的(因?yàn)镃ell的復(fù)用),如果Cell的內(nèi)容不斷變化,則Cell需要不斷重繪,如果此時(shí)設(shè)置了cell.layer可光柵化。則會(huì)造成大量的offscreen渲染,降低圖形性能。