這篇文章是繼筆記-ios設定圓角方法以及指定位置設圓角文章而寫的,因為上篇文章發出來後,沒有驗證,也有同行的朋友讓我給出一些測試資料來證實一下,所以這裡就給出一下我個人的一些測試資料,正確是否,還請大家作為參考。--------另外,我寫這個僅僅只是自己作為筆記使用,原來都是放在草稿裡的,但是手機版的無法檢視草稿,所以就發出來,沒有想過會有人來看,所以如果有錯誤的內容誤導了大家請原諒,也請發現錯誤的猿友及時幫忙提出,謝謝大家。
對離屏渲染的檢測,蘋果為我們提供了乙個測試工具core animation。可以在xcode->open develeper tools->instruments中找到。
對uiimageview設定:
結果:無離屏渲染
滾動的幀率:
結果:接近60,趨於穩定
對uibutton設定:
結果:離屏渲染
滾動的幀率:
對uiimageview設定:
幀率結果:
對uibutton設定:
幀率結果:
兩種設定均是無離屏渲染
對uiimageview設定:
幀率結果:
對uibutton設定:
幀率結果:
兩種設定均是無離屏渲染
上面兩種方式均是無離屏渲染,是什麼原因導致了掉幀?對uiimageview設定:
幀率結果:
對uibutton設定:
幀率結果:
兩種都是離屏渲染,掉幀更加嚴重。基本上不能使用。
由上述測試可以知道,我上篇文章裡所記筆記是有問題的。這裡的測試結果可以看的徹底。
方法1 還是利用core graphics框架
對uiimageview
幀率結果:
對uibutton
幀率結果:
兩種都是無離屏渲染,不論是對uiimageview,還是對uibutton設定都ok。
方法2 通過混合圖層
此方法就是在要新增的檢視上在疊加乙個部分透明的檢視,只對圓角部分進行遮擋。圖層混合的透明度處理方式與mask正好相反。 此方法沒有離屏渲染,沒有額外的cpu計算,但是應用範圍有限。
總結
iOS設定圓角的四種方法
一 設定calayer的cornerradius cornerradius屬性影響layer顯示的background顏色和前景框border,對layer的contents不起作用。故乙個imgview 型別為uiimageview 的image不為空,設定imgview.layer的corner...
PHP遞迴四種方法
data json data str replace data arr json decode data true print r arr dir foreach arr as k v header content type text html charset utf 8 print r arr p...
執行緒同步四種方法
執行緒同步的方法 1 wait 使乙個執行緒處於等待狀態,並且釋放所持有的物件的lock。2 sleep 使乙個正在執行的執行緒處於睡眠狀態,是乙個靜態方法,呼叫此方法要捕捉 interruptedexception異常。3 notify 喚醒乙個處於等待狀態的執行緒,注意的是在呼叫此方法的時候,並...