面數(shù)據(jù)。
[0067]在步驟104中,確定該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)。
[0068]在步驟105中,根據(jù)該差異數(shù)據(jù),對該指定頁面內(nèi)該差異數(shù)據(jù)的對應(yīng)部分進(jìn)行渲染,得到更新后的指定頁面。
[0069]本公開實(shí)施例提供的方法,通過當(dāng)檢測到發(fā)送指定頁面的頁面加載請求時(shí),從指定存儲(chǔ)空間中獲取該指定頁面的第一頁面數(shù)據(jù),并在等待接收第二頁面數(shù)據(jù)的過程中,基于該第一頁面數(shù)據(jù)顯示該指定頁面,能夠避免出現(xiàn)白屏現(xiàn)象,從而能夠提高頁面顯示的連貫性,通過確定第二頁面數(shù)據(jù)與該第一頁面數(shù)據(jù)之間的差異數(shù)據(jù),對該指定頁面內(nèi)該差異數(shù)據(jù)對應(yīng)部分進(jìn)行渲染,能夠避免全屏刷新造成的閃屏現(xiàn)象,進(jìn)而能夠進(jìn)一步提高頁面顯示的連貫性。
[0070]在本公開的第一種可能實(shí)現(xiàn)方式中,該確定該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)包括:
[0071 ]分別對該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)進(jìn)行數(shù)據(jù)分塊,以獲取該第一頁面數(shù)據(jù)的多個(gè)數(shù)據(jù)塊和該第二頁面數(shù)據(jù)的多個(gè)數(shù)據(jù)塊;
[0072]確定每個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征值,該數(shù)據(jù)特征值用于唯一標(biāo)識(shí)一個(gè)數(shù)據(jù)塊;
[0073]將第二頁面數(shù)據(jù)中與該第一頁面數(shù)據(jù)中數(shù)據(jù)特征值不同的數(shù)據(jù)塊確定為該差異數(shù)據(jù)。
[0074]在本公開的第二種可能實(shí)現(xiàn)方式中,當(dāng)檢測到發(fā)送指定頁面的頁面加載請求時(shí),從指定存儲(chǔ)空間中獲取第一頁面數(shù)據(jù)之前,該方法還包括:
[0075]在該指定頁面的歷史加載過程的任一次加載過程中,如果該指定存儲(chǔ)空間中未存儲(chǔ)有該第一頁面數(shù)據(jù),在該指定頁面中不同顯示元素的顯示位置上顯示占位圖;
[0076]根據(jù)該加載過程中所發(fā)送的頁面加載請求,獲取該指定頁面的頁面數(shù)據(jù);
[0077]根據(jù)該頁面數(shù)據(jù),對該指定頁面進(jìn)行渲染,并將該頁面數(shù)據(jù)存儲(chǔ)至該指定存儲(chǔ)空間。
[0078]在本公開的第三種可能實(shí)現(xiàn)方式中,確定該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)之后,該方法還包括:
[0079]用該差異數(shù)據(jù)替換該指定存儲(chǔ)空間中的該第一頁面數(shù)據(jù)中的對應(yīng)數(shù)據(jù)。
[0080]在本公開的第四種可能實(shí)現(xiàn)方式中,該方法還包括:
[0081]根據(jù)預(yù)設(shè)周期,用該預(yù)設(shè)周期內(nèi)最新的頁面數(shù)據(jù)替換該指定存儲(chǔ)空間中的該第一頁面數(shù)據(jù)。
[0082]上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本公開的可選實(shí)施例,在此不再
--贅述。
[0083]圖2A是根據(jù)一示例性實(shí)施例示出的一種頁面顯示方法的流程圖。該實(shí)施例的執(zhí)行主體可以為終端,參照圖2A,該實(shí)施例具體包括:
[0084]在步驟201中,在第一次發(fā)送指定頁面的頁面加載請求時(shí),在該指定頁面中不同顯示元素的顯示位置上顯示占位圖。
[0085]當(dāng)用戶通過終端上已安裝的APP瀏覽頁面時(shí),在頁面加載過程中,往往會(huì)出現(xiàn)白屏現(xiàn)象,導(dǎo)致頁面顯示不連貫,從而影響用戶瀏覽體驗(yàn)。為解決該問題,本公開提供了一種頁面顯示方法。
[0086]在檢測到終端第一次發(fā)送指定頁面的頁面加載請求時(shí),在等待獲取該指定頁面的頁面數(shù)據(jù)的過程中,在該指定頁面中不同顯示元素的顯示位置上顯示占位圖。具體方法可以為:根據(jù)該指定頁面對應(yīng)的APP安裝時(shí)獲取的安裝數(shù)據(jù)包,確定頁面顯示框架,在該頁面顯示框架中不同顯示元素的顯示位置上顯示相應(yīng)大小的占位圖,如圖2B所示。當(dāng)然,也可以采用其他方法在該指定頁面顯示占位圖,本公開實(shí)施例對此不作限定。
[0087]其中,該指定頁面可以為瀏覽器類APP中任一網(wǎng)址對應(yīng)的頁面,也可以是APP商城中顯示各APP排名的頁面,還可以是電商類APP中商品展示頁面等其他頁面,本公開實(shí)施例對此不作限定;占位圖是指無實(shí)際內(nèi)容的圖片,該圖片用于頁面布局時(shí),占據(jù)該頁面對應(yīng)顯示位置上實(shí)際顯示的圖片或文本信息等,以使得在接收到該頁面的頁面數(shù)據(jù)后,能夠?qū)D片或文本信息等替代其顯示位置上的占位圖,進(jìn)而顯示該頁面。
[0088]需要說明的是,在檢測到第一次發(fā)送指定頁面的頁面加載請求時(shí),也可以不在該指定頁面中顯示占位圖,等待接收基于該頁面加載請求的頁面數(shù)據(jù),直到接收到該頁面數(shù)據(jù),再基于該頁面數(shù)據(jù)顯示該指定頁面;本公開實(shí)施例對在第一次顯示該指定頁面時(shí)是否顯示占位圖不作限定。
[0089]通過在該指定頁面中不同顯示元素的顯示位置上顯示占位圖,能夠避免在等待接收該指定頁面的頁面數(shù)據(jù)的過程中,使用占位圖對該指定頁面進(jìn)行布局,從而能夠避免出現(xiàn)白屏而頁面顯示不連貫的現(xiàn)象。
[0090]在步驟202中,基于第一次發(fā)送的指定頁面的頁面加載請求,獲取第一頁面數(shù)據(jù),并將該第一頁面數(shù)據(jù)存儲(chǔ)至指定存儲(chǔ)空間。
[0091]將第一次該指定頁面的頁面加載請求發(fā)送至對應(yīng)服務(wù)器后,服務(wù)器根據(jù)該頁面加載請求向終端返回該指定頁面的頁面數(shù)據(jù),終端接收到該頁面數(shù)據(jù)后,根據(jù)該頁面數(shù)據(jù)對使用占位圖顯示的該指定頁面進(jìn)行渲染,以顯示該終端頁面,如圖2C所示,并將該頁面數(shù)據(jù)存儲(chǔ)至指定存儲(chǔ)空間,在圖2C中,圖片也可以用文本信息或其他信息的信息替代,本公開實(shí)施例對此不作限定。
[0092]需要說明的是,將該頁面數(shù)據(jù)存儲(chǔ)至該指定存儲(chǔ)空間的方法可以為:通過local Storage(本地存儲(chǔ))中的1calStorage.set Item將該頁面數(shù)據(jù)存儲(chǔ)至終端cache (高速緩沖存儲(chǔ)器)中;也可以采用其他方法將該頁面數(shù)據(jù)存儲(chǔ)至該指定存儲(chǔ)空間,該指定存儲(chǔ)空間也可以為除終端cache外的其他存儲(chǔ)區(qū)域,本公開實(shí)施例對該頁面數(shù)據(jù)的存儲(chǔ)方法及該指定存儲(chǔ)空間所指的具體存儲(chǔ)區(qū)域均不作限定。
[0093]通過將基于第一次發(fā)送指定頁面的頁面加載請求所獲取到的頁面數(shù)據(jù),存儲(chǔ)至指定存儲(chǔ)空間中,能夠在再次發(fā)送該指定頁面的頁面加載請求時(shí),在等待接收該指定頁面對應(yīng)服務(wù)器返回頁面數(shù)據(jù)的過程中,先根據(jù)存儲(chǔ)在該指定存儲(chǔ)空間中的該指定頁面的頁面數(shù)據(jù),對該指定頁面進(jìn)行渲染,能夠避免出現(xiàn)白屏現(xiàn)象,進(jìn)而能夠增強(qiáng)頁面顯示的連貫性。
[0094]在本公開另一實(shí)施例中,步驟201和步驟202也可以在該指定頁面的歷史加載過程的任一次加載過程中進(jìn)行,具體方法可以為:在該指定頁面的歷史加載過程的任一次加載過程中,如果該指定存儲(chǔ)空間中未存儲(chǔ)有該第一頁面數(shù)據(jù),在該指定頁面中不同顯示元素的顯示位置上顯示占位圖;根據(jù)該加載過程中所發(fā)送的頁面加載請求,獲取該指定頁面的頁面數(shù)據(jù);根據(jù)該頁面數(shù)據(jù),對該指定頁面進(jìn)行渲染,并將該頁面數(shù)據(jù)存儲(chǔ)至該指定存儲(chǔ)空間。其中,該第一頁面數(shù)據(jù)是指該指定頁面在歷史加載過程中所獲取到的頁面數(shù)據(jù)。
[0095]通過在該指定頁面的歷史加載過程的任一次加載過程中執(zhí)行步驟201和步驟202,能夠避免當(dāng)終端出現(xiàn)系統(tǒng)更新或者數(shù)據(jù)丟失時(shí),可能導(dǎo)致的該指定存儲(chǔ)空間中所存儲(chǔ)的頁面數(shù)據(jù)丟失的情況,以及該指定頁面所對應(yīng)的APP更新以后,該指定頁面的頁面布局發(fā)生變化的情況所導(dǎo)致的無法正常顯示該指定頁面的問題。
[0096]例如,當(dāng)該指定存儲(chǔ)空間中所存儲(chǔ)的頁面數(shù)據(jù)丟失時(shí),將發(fā)生該情況后所發(fā)送的頁面加載請求作為第一次請求情況處理,即在發(fā)送該指定頁面的頁面加載請求時(shí),重新使用占位圖顯示該指定頁面,并將基于該頁面加載請求獲取到的頁面數(shù)據(jù),存儲(chǔ)至該指定存儲(chǔ)空間中;而當(dāng)該指定頁面所對應(yīng)的APP更新以后,該指定頁面的頁面布局發(fā)生變化時(shí),將該APP更新以后所發(fā)送的頁面加載請求作為第一次請求情況處理,即在檢測到發(fā)送該指定頁面的頁面加載請求時(shí),重新使用占位圖顯示該指定頁面,并將基于該頁面加載請求所獲取的頁面數(shù)據(jù),替代該指定存儲(chǔ)空間中該指定頁面的第一頁面數(shù)據(jù)。
[0097]需要說明的是,需要重新執(zhí)行步驟201和步驟202的情況,除上述所列的情況外,還可以是其他情況,本公開實(shí)施例對此不作限定。
[0098]在步驟203中,在第二次發(fā)送指定頁面的頁面加載請求時(shí),從該指定存儲(chǔ)空間獲取該第一頁面數(shù)據(jù)。
[0099]當(dāng)檢測再次發(fā)送該指定頁面的頁面加載請求時(shí),從該指定存儲(chǔ)空間中獲取該指定頁面的第一頁面數(shù)據(jù),以使得終端能夠根據(jù)該第一頁面數(shù)據(jù)對該指定頁面進(jìn)行初次渲染,從而避免出現(xiàn)在再次發(fā)送該指定頁面的頁面加載請求后,等待接收對應(yīng)服務(wù)器基于該頁面加載請求返回的頁面數(shù)據(jù)的過程中,該頁面出現(xiàn)白屏的現(xiàn)象,進(jìn)而能夠在再次顯示該指定頁面提高頁面顯示的連貫性。
[0100]在步驟204中,基于該第一頁面數(shù)據(jù),顯示該指定頁面。
[0101]根據(jù)從該指定存儲(chǔ)空間獲取到的該指定頁面的第一頁面數(shù)據(jù),首先對該第一頁面數(shù)據(jù)進(jìn)行渲染,以顯示該指定頁面。在本公開實(shí)施例中,可以認(rèn)為該指定頁面根據(jù)該第一頁面數(shù)據(jù)所顯示的頁面,為基于第一次發(fā)送該指定頁面的頁面加載請求所顯示的頁面。
[0102]在步驟205中,接收第二頁面數(shù)據(jù),該第二頁面數(shù)據(jù)為基于該頁面加載請求得到的頁面數(shù)據(jù)。
[0103]基于第二次發(fā)送的指定頁面的頁面加載請求,接收該第二頁面數(shù)據(jù),該第二頁面數(shù)據(jù)為發(fā)送頁面加載請求時(shí)的實(shí)時(shí)數(shù)據(jù),該實(shí)時(shí)數(shù)據(jù)可以認(rèn)為是由該指定頁面中最新的顯示元素所組成的數(shù)據(jù),當(dāng)然,該第二頁面數(shù)據(jù)還可以包括用于顯示該指定頁面的其他數(shù)據(jù),本公開實(shí)施例對此不作限定。
[0104]需要說明的是,步驟204和步驟205在時(shí)序上的關(guān)系可以為以下三種:第一種、同時(shí)進(jìn)行;第二種、先顯示再接收;第三種、先接收再顯示;具體根據(jù)終端當(dāng)前的數(shù)據(jù)處理情況確定,本公開實(shí)施例對此不作限定。
[0105]在步驟206中,確定該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)。
[0106]通過對比從該指定存儲(chǔ)空間中獲取到的該第一頁面數(shù)據(jù)和基于第二次頁面加載請求接收到的第二頁面數(shù)據(jù),確定該第一頁面數(shù)據(jù)和第二頁