中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ios中如何可以減少不必要的繪制

這篇文章主要為大家展示了“ios中如何可以減少不必要的繪制”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ios中如何可以減少不必要的繪制”這篇文章吧。

創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)建站依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

展示了一個(gè)-addBrushStrokeAtPoint:方法的升級(jí)版,它只重繪當(dāng)前線刷的附近區(qū)域。另外也會(huì)刷新之前線刷的附近區(qū)域,我們也可以用CGRectIntersectsRect()來(lái)避免重繪任何舊的線刷以不至于覆蓋已更新過(guò)的區(qū)域。這樣做會(huì)顯著地提高繪制效率。

setNeedsDisplayInRect:來(lái)減少不必要的繪制

UIKit的單線程天性意味著寄宿圖通暢要在主線程上更新,這意味著繪制會(huì)打斷用戶交互,甚至讓整個(gè)app看起來(lái)處于無(wú)響應(yīng)狀態(tài)。我們對(duì)此無(wú)能為力,但是如果能避免用戶等待繪制完成就好多了。

針對(duì)這個(gè)問(wèn)題,有一些方法可以用到:一些情況下,我們可以推測(cè)性地提前在另外一個(gè)線程上繪制內(nèi)容,然后將由此繪出的圖片直接設(shè)置為圖層的內(nèi)容。這實(shí)現(xiàn)起來(lái)可能不是很方便,但是在特定情況下是可行的。CoreAnimation提供了一些選擇:CATiledLayer和drawsAsynchronously屬性。

除了將圖層再次分割成獨(dú)立更新的小塊(類似于臟矩形自動(dòng)更新的概念),CATiledLayer還有一個(gè)有趣的特性:在多個(gè)線程中為每個(gè)小塊同時(shí)調(diào)用-drawLayer:inContext:方法。這就避免了阻塞用戶交互而且能夠利用多核心新片來(lái)更快地繪制。只有一個(gè)小塊的CATiledLayer是實(shí)現(xiàn)異步更新圖片視圖的簡(jiǎn)單方法。

與CATiledLayer使用的異步繪制不相同

iOS6中,蘋果為CALayer引入了這個(gè)令人好奇的屬性,drawsAsynchronously屬性對(duì)傳入-drawLayer:inContext:的CGContext進(jìn)行改動(dòng),允許CGContext延緩繪制命令的執(zhí)行以至于不阻塞用戶交互。

它與CATiledLayer使用的異步繪制并不相同。它自己的-drawLayer:inContext:方法只會(huì)在主線程調(diào)用,但是CGContext并不等待每個(gè)繪制命令的結(jié)束。相反地,它會(huì)將命令加入隊(duì)列,當(dāng)方法返回時(shí),在后臺(tái)線程逐個(gè)執(zhí)行真正的繪制。

根據(jù)蘋果的說(shuō)法。這個(gè)特性在需要頻繁重繪的視圖上效果最好(比如我們的繪圖應(yīng)用,或者諸如UITableViewCell之類的),對(duì)那些只繪制一次或很少重繪的圖層內(nèi)容來(lái)說(shuō)沒(méi)什么太大的幫助。

以上是“ios中如何可以減少不必要的繪制”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站欄目:ios中如何可以減少不必要的繪制
分享URL:http://www.rwnh.cn/article18/jipogp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃動(dòng)態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
天峻县| 马公市| 抚松县| 宜兰县| 道孚县| 西充县| 武山县| 莆田市| 龙口市| 龙里县| 武强县| 额济纳旗| 鄂伦春自治旗| 阳原县| 建昌县| 昌邑市| 南宁市| 青河县| 科技| 咸阳市| 刚察县| 榆社县| 二连浩特市| 青州市| 莱芜市| 静安区| 义乌市| 凤山县| 阿勒泰市| 田阳县| 巩留县| 双流县| 天峨县| 罗平县| 齐齐哈尔市| 张家口市| 吴旗县| 彭州市| 体育| 义马市| 郴州市|