網(wǎng)頁圖片的加載方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及網(wǎng)頁技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)頁圖片的加載方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)與移動(dòng)終端的發(fā)展,越來越多的用戶使用智能手機(jī)、平板電腦等移動(dòng)終端來訪問互聯(lián)網(wǎng)。在用戶使用移動(dòng)終端瀏覽網(wǎng)頁時(shí),如果網(wǎng)頁中包含有圖片,瀏覽器往往要對(duì)圖片進(jìn)行重新繪制。如何在繪制過程中提升渲染性能,節(jié)省CPU的計(jì)算資源已成為亟待解決的問題。
【發(fā)明內(nèi)容】
[0003]為克服相關(guān)技術(shù)中存在的問題,本公開提供一種網(wǎng)頁圖片的加載方法和裝置。
[0004]根據(jù)本公開實(shí)施例的第一方面,提供一種網(wǎng)頁圖片的加載方法,包括:
[0005]分別為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成與所述動(dòng)態(tài)圖片對(duì)應(yīng)的RenderLayer ;
[0006]為所述RenderLayer 生成對(duì)應(yīng)的 GraphicsLayer ;
[0007]根據(jù)所述GraphicsLayer繪制所述動(dòng)態(tài)圖片。
[0008]可選的,所述分別為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成與所述動(dòng)態(tài)圖片對(duì)應(yīng)的RenderLayer,包括:
[0009]根據(jù)所述網(wǎng)頁文件生成Render樹;
[0010]在所述Render樹中識(shí)別所述網(wǎng)頁文件中的動(dòng)態(tài)圖片;
[0011]分別為所述動(dòng)態(tài)圖片生成對(duì)應(yīng)的RenderLayer。
[0012]可選的,所述在所述Render樹中識(shí)別所述網(wǎng)頁文件中的動(dòng)態(tài)圖片,包括:
[0013]判斷所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量是否大于I ;
[0014]判斷所述Render樹中RenderImage節(jié)點(diǎn)的幀頻是否大于O ;
[0015]如果所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量大于1,且所述RenderImage節(jié)點(diǎn)的幀頻大于0,則確認(rèn)所述RenderImage節(jié)點(diǎn)為動(dòng)態(tài)圖片的RenderImage節(jié)點(diǎn)。
[0016]可選的,所述在所述Render樹中識(shí)別所述網(wǎng)頁文件中的動(dòng)態(tài)圖片,包括:
[0017]判斷所述Render樹中RenderImage節(jié)點(diǎn)的路徑中是否包括字符gif ;
[0018]如果所述Render樹中RenderImage節(jié)點(diǎn)的路徑中包括字符gif,則判斷所述RenderImage節(jié)點(diǎn)包含的圖片數(shù)量是否大于1,判斷所述Render樹中RenderImage節(jié)點(diǎn)的幀頻是否大于O ;
[0019]如果所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量大于1,且所述RenderImage節(jié)點(diǎn)的幀頻大于0,則確認(rèn)所述RenderImage節(jié)點(diǎn)為動(dòng)態(tài)圖片的RenderImage節(jié)點(diǎn)。
[0020]可選的,所述根據(jù)所述GraphicsLayer繪制所述動(dòng)態(tài)圖片,包括:
[0021 ] 根據(jù)所述GraphicsLayer,在與所述動(dòng)態(tài)圖片大小相同的區(qū)域內(nèi)繪制所述動(dòng)態(tài)圖片。
[0022]根據(jù)本公開實(shí)施例的第二方面,提供一種網(wǎng)頁圖片的加載裝置,包括:
[0023]第一生成單元,用于分別為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成與所述動(dòng)態(tài)圖片對(duì)應(yīng)的 RenderLayer ;
[0024]第二生成單元,用于為所述RenderLayer生成對(duì)應(yīng)的GraphicsLayer ;
[0025]圖片繪制單元,用于根據(jù)所述GraphicsLayer繪制所述動(dòng)態(tài)圖片。
[0026]可選的,所述第一生成單元包括:
[0027]第一生成子單元,用于根據(jù)所述網(wǎng)頁文件生成Render樹;
[0028]動(dòng)態(tài)識(shí)別子單元,用于在所述Render樹中識(shí)別所述網(wǎng)頁文件中的動(dòng)態(tài)圖片;
[0029]第二生成子單元,用于為所述動(dòng)態(tài)圖片生成對(duì)應(yīng)的RenderLayer。
[0030]可選的,所述動(dòng)態(tài)識(shí)別子單元包括:
[0031]第一判斷模塊,用于判斷所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量是否大于I ;
[0032]第二判斷模塊,用于判斷所述Render樹中RenderImage節(jié)點(diǎn)的幀頻是否大于O ;
[0033]第一確認(rèn)模塊,用于在所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量大于1,且所述RenderImage節(jié)點(diǎn)的幀頻大于O時(shí),確認(rèn)所述RenderImage節(jié)點(diǎn)為動(dòng)態(tài)圖片的RenderImage 節(jié)點(diǎn)。
[0034]可選的,所述動(dòng)態(tài)識(shí)別子單元包括:
[0035]第三判斷模塊,用于判斷所述Render樹中RenderImage節(jié)點(diǎn)的路徑中是否包括字符 gif ;
[0036]第四判斷模塊,用于在所述Render樹中RenderImage節(jié)點(diǎn)的路徑中包括字符gif時(shí),判斷所述RenderImage節(jié)點(diǎn)包含的圖片數(shù)量是否大于1,判斷所述Render樹中RenderImage節(jié)點(diǎn)的幀頻是否大于O ;
[0037]第二確認(rèn)模塊,用于在所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量大于1,且所述RenderImage節(jié)點(diǎn)的幀頻大于O時(shí),確認(rèn)所述RenderImage節(jié)點(diǎn)為動(dòng)態(tài)圖片的RenderImage 節(jié)點(diǎn)。
[0038]可選的,所述圖片繪制單元包括:
[0039]繪制子單元,用于根據(jù)所述GraphicsLayer,在與所述動(dòng)態(tài)圖片大小相同的區(qū)域內(nèi)繪制所述動(dòng)態(tài)圖片。
[0040]根據(jù)本公開實(shí)施例的第三方面,提供一種網(wǎng)頁圖片的加載裝置,包括:
[0041]處理器;
[0042]用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0043]其中,所述處理器被配置為:
[0044]分別為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成與所述動(dòng)態(tài)圖片對(duì)應(yīng)的RenderLayer ;
[0045]為所述RenderLayer 生成對(duì)應(yīng)的 GraphicsLayer ;
[0046]根據(jù)所述GraphicsLayer繪制所述動(dòng)態(tài)圖片。
[0047]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0048]本公開終端可以通過為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成對(duì)應(yīng)的RenderLayer,進(jìn)而可以為所述RenderLayer生成對(duì)應(yīng)的GraphicsLayer,即為每張動(dòng)態(tài)圖片生成一個(gè)對(duì)應(yīng)GraphicsLayer,以便可以根據(jù)所述GraphicsLayer對(duì)動(dòng)態(tài)圖片進(jìn)行繪制。本公開在網(wǎng)頁文件中存在有多張動(dòng)態(tài)圖片時(shí),分別對(duì)每張動(dòng)態(tài)圖片進(jìn)行繪制,可以有效減小繪制的區(qū)域大小,提升渲染性能,同時(shí)節(jié)省CPU的計(jì)算資源。
[0049]本公開終端可以在判斷所述Render樹中RenderImage節(jié)點(diǎn)包含的圖片數(shù)量大于1,且所述RenderImage節(jié)點(diǎn)的幀頻大于O時(shí),確認(rèn)所述RenderImage節(jié)點(diǎn)為動(dòng)態(tài)圖片的Render Image節(jié)點(diǎn),進(jìn)而提高網(wǎng)頁文件中動(dòng)態(tài)圖片識(shí)別的準(zhǔn)確度。
[0050]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說明】
[0051]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。
[0052]圖1是根據(jù)一示例性實(shí)施例示出的一種網(wǎng)頁圖片的加載方法的流程圖。
[0053]圖2是根據(jù)一示例性實(shí)施例示出的另一種網(wǎng)頁圖片的加載方法的流程圖。
[0054]圖3是根據(jù)一示例性實(shí)施例示出的一種在Render樹中識(shí)別網(wǎng)頁文件中的動(dòng)態(tài)圖片的流程圖。
[0055]圖4是根據(jù)一示例性實(shí)施例示出的另一種在Render樹中識(shí)別網(wǎng)頁文件中的動(dòng)態(tài)圖片的流程圖。
[0056]圖5是根據(jù)一示例性實(shí)施例示出的一種網(wǎng)頁圖片的加載裝置的框圖。
[0057]圖6是根據(jù)一示例性實(shí)施例示出的另一種網(wǎng)頁圖片的加載裝置的框圖。
[0058]圖7是根據(jù)一示例性實(shí)施例示出的另一種網(wǎng)頁圖片的加載裝置的框圖。
[0059]圖8是根據(jù)一示例性實(shí)施例示出的另一種網(wǎng)頁圖片的加載裝置的框圖。
[0060]圖9是根據(jù)一示例性實(shí)施例示出的另一種網(wǎng)頁圖片的加載裝置的框圖。
[0061]圖10是根據(jù)一示例性實(shí)施例示出的一種用于網(wǎng)頁圖片的加載裝置的一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0062]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
[0063]圖1是根據(jù)一示例性實(shí)施例示出的一種網(wǎng)頁圖片的加載方法的流程圖。
[0064]如圖1所示,所述網(wǎng)頁圖片的加載方法可以用于終端中,包括以下步驟:
[0065]在步驟SlOl中,分別為網(wǎng)頁文件中的每張動(dòng)態(tài)圖片生成與所述動(dòng)態(tài)圖片對(duì)應(yīng)的RenderLayer0
[0066]在本實(shí)施例中,終端可以根據(jù)所述網(wǎng)頁文件生成Render樹,然后在所述Render樹中識(shí)別所述網(wǎng)頁文件中的動(dòng)態(tài)圖片,并分別為識(shí)別出的所有動(dòng)態(tài)圖片生成對(duì)應(yīng)的RenderLayer0
[0067]在步驟S102中,為所述RenderLayer生成對(duì)應(yīng)的GraphicsLayer。
[0068]在本實(shí)施例中,終端可以為由動(dòng)態(tài)圖片生成的所述RenderLayer生成對(duì)應(yīng)的GraphicsLayer,即為每張動(dòng)態(tài)圖片生成對(duì)應(yīng)GraphicsLayer。
[0069]在步驟S103中,根據(jù)所述GraphicsLayer繪制所述動(dòng)態(tài)圖片。
[0070]