在開發中,新增圓角似乎再常見不過了。不過它帶來的效能問題以及離屏渲染問題,也受到部分開發者的注意。相信大家也看過很多部落格,寫得也很不錯,都是這種解決辦法。我隨便列舉幾個
好訊息!好訊息!wwcd 2018 告訴我們,有uigraphicsimagerenderer
這麼乙個類,它比uigraphicsbeginimagecontextwithoptions()
這個方法要降低75%的記憶體消耗!
壞訊息是什麼?它只支援 ios 10 以上的版本。
那麼 ios 10 之前,我們只能用cgbitmapcontextcreate()
來建立點陣圖的上下文。其缺點是座標系的 y 軸是反的,可能不是很習慣,而且切記要 release
我看 sdwebimage 也是這麼做的。
存在的問題:
我發現用cgbitmapcontextcreate()
建立的上下文,裡面的 path 不能被裁剪,否則的話邊框是繪製不出來的。
這個 path 是uibezierpath
,uibezierpath
的clip
方法不起作用,此時可以fill
和stroke
如果呼叫cgcontextclip()
則整個path都會被裁掉,即不能fill
和stroke
,但是它是有效的。
用uigraphicsbeginimagecontextwithoptions()
或者uigraphicsimagerenderer
裡面的上下文是沒有問題的,uibezierpath
的clip
方法有效!
所以這個問題搞清楚之前,我在+ (uiimage *)imagewithqqcorner:(qqcorner *)corner size:(cgsize)size;
中,ios 10 之前版本,依然使用了uigraphicsbeginimagecontextwithoptions()
這個方法來建立上下文。
高效能web Server 開發心得
高併發web伺服器處理 一 html靜態化 效率最高 消耗最小的就是純靜態化的html頁面,所以我們盡可能使我們的 上的頁面採用靜態頁面來實現,如使用資訊發布系統cms 二.伺服器分離 對於web伺服器來說,不管是apache iis還是其他容器,是最消耗資源的,於是我們有必要將與頁面進行分離,在處...
高效能網頁開發規則
1 原則一如果能使頁面html顯示跟後台處理同時進行,這是乙個比較好的方式 比如說將頁面上容易顯示的部分優先反饋給瀏覽器,然後再接著繼續處理下面的步驟這樣比較 象php中在html的後可以使用flush 方法,提前將部分資訊返回給客戶端,通常有css js等資訊 然後可以將js css打包 壓縮 儘...
iOS開發 圓角相關問題彙總
本文參考 一說到圓角,我們最先想到的可能就是 view.layer setcornerradius 3 view.layer setmaskstobounds yes 但這種方法會造成離屏渲染,對效能影響較大,設定的少了也能用.但如果是在tableview上使用的話.對效能的考驗還是很大的.不推薦使...