面數(shù)據(jù)之間的差異數(shù)據(jù),以使得能夠通過用該差異數(shù)據(jù),替換根據(jù)該第一頁面數(shù)據(jù)所顯示的該指定頁面中的對應(yīng)數(shù)據(jù),以顯示該指定頁面的最新顯示元素。
[0107]其中,確定該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)的方法可以為:分別對該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)進行數(shù)據(jù)分塊,以獲取該第一頁面數(shù)據(jù)的多個數(shù)據(jù)塊和該第二頁面數(shù)據(jù)的多個數(shù)據(jù)塊;確定每個數(shù)據(jù)塊的數(shù)據(jù)特征值,該數(shù)據(jù)特征值用于唯一標(biāo)識一個數(shù)據(jù)塊;將第二頁面數(shù)據(jù)中與該第一頁面數(shù)據(jù)中數(shù)據(jù)特征值不同的數(shù)據(jù)塊確定為該差異數(shù)據(jù)。
[0108]例如,對該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)進行數(shù)據(jù)分塊,可以將數(shù)據(jù)列表的每個元素數(shù)據(jù)劃分為一個chunk(數(shù)據(jù)塊),根據(jù)對應(yīng)的元素數(shù)據(jù)確定該chunk的數(shù)據(jù)特征值,該數(shù)據(jù)特征值的確定方法可以為:根據(jù)該chunk的字符串計算出md5值(Message-DigestAlgorithm 5,信息摘要算法5),并將該md5值確定為該chunk對應(yīng)的D0M(Document ObjectMode I,文檔對象模型)結(jié)構(gòu)的ID (I dent i ty,身份標(biāo)識號);當(dāng)然也可以采用其他方法確定該chunk的數(shù)據(jù)特征值及對應(yīng)DOM結(jié)構(gòu)的ID,本公開實施例對此不作限定。將該第二頁面數(shù)據(jù)中的每個chunk的md5值與該第一頁面數(shù)據(jù)中對應(yīng)chunk的md5值進行對比,將md5值不同的該第二頁面數(shù)據(jù)中的chunk對應(yīng)的數(shù)據(jù)確定為差異數(shù)據(jù)。
[0109]確定該第一頁面數(shù)據(jù)和第二頁面數(shù)據(jù)之間的差異數(shù)據(jù)時,可以采用上述方法實現(xiàn),也可以采用其他方法,本公開實施例對此不作限定。
[0110]在本公開另一實施例中,用該差異數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)中的對應(yīng)數(shù)據(jù)。具體方法可以為:根據(jù)所確定的差異數(shù)據(jù)中每個chunk,確定第一頁面數(shù)據(jù)中的對應(yīng)DOM節(jié)點,用該差異數(shù)據(jù)中每個chunk對應(yīng)的DOM內(nèi)容替換該第一頁面數(shù)據(jù)中對應(yīng)的DOM內(nèi)容,并存儲至該指定存儲空間中。
[0111]需要說明的是,用該差異數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)中對應(yīng)數(shù)據(jù),可以采用上述方法實現(xiàn),也可以采用其他方法,本公開實施例對此不作限定。
[0112]通過將用該差異數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)中的對應(yīng)數(shù)據(jù),能夠確保該指定存儲空間中所存儲的該指定頁面的頁面數(shù)據(jù)為較新的頁面數(shù)據(jù),也即是,該指定存儲空間中所存儲的第一頁面數(shù)據(jù)為上一次發(fā)送頁面加載請求時所接收到的頁面數(shù)據(jù)。
[0113]在本公開又一實施例中,根據(jù)預(yù)設(shè)周期,用該預(yù)設(shè)周期內(nèi)最新的頁面數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)。
[0114]其中,該預(yù)設(shè)周期可以根據(jù)該指定頁面的瀏覽頻率或該指定頁面中顯示元素的更新頻率確定,例如,當(dāng)用戶每天都會瀏覽該指定頁面時,可以將該預(yù)設(shè)周期確定為一個自然日;當(dāng)該指定頁面中顯示元素更新頻率為6個小時時,可將該預(yù)設(shè)周期確定為6個小時;該預(yù)設(shè)周期也可以確定為任一固定值,如一個一個月或一個季度等,還可以通過其他方法確定該預(yù)設(shè)周期,本公開實施例對此不作限定。
[0115]通過根據(jù)該預(yù)設(shè)周期,對該指定存儲空間中所存儲的第一頁面數(shù)據(jù)進行周期性更新,能夠避免重復(fù)替換該指定存儲空間中所存儲的該第一頁面數(shù)據(jù),從而能夠減少終端的數(shù)據(jù)處理量。
[0116]在步驟207中,根據(jù)該差異數(shù)據(jù),對該指定頁面內(nèi)該差異數(shù)據(jù)的對應(yīng)部分進行渲染,得到更新后的指定頁面。
[0117]通過根據(jù)該差異數(shù)據(jù),對該指定頁面中的部分顯示區(qū)域進行渲染,能夠避免全屏刷新造成的閃屏現(xiàn)象,進而能夠進一步提高頁面顯示的連貫性,具體如圖2D所示。
[0118]在圖2D中,左圖表示根據(jù)從指定存儲空間中所獲取的第一頁面數(shù)據(jù)渲染后的頁面,右圖為根據(jù)所確定的差異數(shù)據(jù)再次渲染后的頁面,其中,右圖方框中的顯示元素為根據(jù)第一頁面數(shù)據(jù)和第二頁面數(shù)據(jù)所確定的差異數(shù)據(jù),左圖對應(yīng)方框中的顯示元素為與該差異數(shù)據(jù)對應(yīng)的第一頁面數(shù)據(jù)中的待替換數(shù)據(jù),即右圖為根據(jù)差異數(shù)據(jù)對左圖待替換數(shù)據(jù)對應(yīng)的顯示元素渲染后的結(jié)果。
[0119]本公開實施例提供的方法,通過當(dāng)檢測到發(fā)送指定頁面的頁面加載請求時,從指定存儲空間中獲取該指定頁面的第一頁面數(shù)據(jù),并在等待接收第二頁面數(shù)據(jù)的過程中,基于該第一頁面數(shù)據(jù)顯示該指定頁面,能夠避免出現(xiàn)白屏現(xiàn)象,從而能夠提高頁面顯示的連貫性,通過確定第二頁面數(shù)據(jù)與該第一頁面數(shù)據(jù)之間的差異數(shù)據(jù),對該指定頁面內(nèi)該差異數(shù)據(jù)對應(yīng)部分進行渲染,能夠避免全屏刷新造成的閃屏現(xiàn)象,進而能夠進一步提高頁面顯示的連貫性;進一步地,通過在歷史加載過程中的任一次加載過程中,如果指定存儲空間中未存儲有第一頁面數(shù)據(jù),在所述指定頁面中不同顯示元素的顯示位置上顯示占位圖,能夠避免在等待接收該指定頁面的頁面數(shù)據(jù)的過程中,使用占位圖對該指定頁面進行布局,從而能夠避免出現(xiàn)白屏而頁面顯示不連貫的現(xiàn)象,通過根據(jù)該預(yù)設(shè)周期,對該指定存儲空間中所存儲的第一頁面數(shù)據(jù)進行周期性更新,能夠避免重復(fù)替換該指定存儲空間中所存儲的該第一頁面數(shù)據(jù),從而能夠減少終端的數(shù)據(jù)處理量。
[0120]圖3是根據(jù)一示例性實施例示出的一種頁面顯示裝置框圖。參照圖3,該裝置包括獲取模塊301,顯示模塊302,接收模塊303,確定模塊304和渲染模塊305。
[0121]獲取模塊301,用于當(dāng)檢測到發(fā)送指定頁面的頁面加載請求時,從指定存儲空間中獲取第一頁面數(shù)據(jù),該第一頁面數(shù)據(jù)是指該指定頁面在歷史加載過程中所獲取到的頁面數(shù)據(jù);
[0122]顯示模塊302,用于基于該獲取模塊301獲取到的該第一頁面數(shù)據(jù),顯示該指定頁面;
[0123]接收模塊303,用于接收第二頁面數(shù)據(jù),該第二頁面數(shù)據(jù)為基于該頁面加載請求得到的頁面數(shù)據(jù);
[0124]確定模塊304,用于確定該獲取模塊301獲取到的該第一頁面數(shù)據(jù)和該接收模塊接收到的該第二頁面數(shù)據(jù)之間的差異數(shù)據(jù);
[0125]渲染模塊305,用于根據(jù)該確定模塊304確定的該差異數(shù)據(jù),對該指定頁面內(nèi)該差異數(shù)據(jù)的對應(yīng)部分進行渲染,得到更新后的指定頁面。
[0126]在本公開提供的第一種可能實現(xiàn)方式中,該確定模塊304用于:
[0127]分別對該第一頁面數(shù)據(jù)和該第二頁面數(shù)據(jù)進行數(shù)據(jù)分塊,以獲取該第一頁面數(shù)據(jù)的多個數(shù)據(jù)塊和該第二頁面數(shù)據(jù)的多個數(shù)據(jù)塊;
[0128]確定每個數(shù)據(jù)塊的數(shù)據(jù)特征值,該數(shù)據(jù)特征值用于唯一標(biāo)識一個數(shù)據(jù)塊;
[0129]將第二頁面數(shù)據(jù)中與該第一頁面數(shù)據(jù)中數(shù)據(jù)特征值不同的數(shù)據(jù)塊確定為該差異數(shù)據(jù)。
[0130]在本公開提供的第二種可能實現(xiàn)方式中,該顯示模塊302還用于在該指定頁面的歷史加載過程的任一次加載過程中,如果該指定存儲空間中未存儲有該第一頁面數(shù)據(jù),在該指定頁面中不同顯示元素的顯示位置上顯示占位圖;
[0131]該接收模塊303還用于根據(jù)該加載過程中所發(fā)送的頁面加載請求,獲取該指定頁面的頁面數(shù)據(jù);
[0132]該裝置還包括:
[0133]處理模塊,用于根據(jù)該頁面數(shù)據(jù),對該指定頁面進行渲染,并將該頁面數(shù)據(jù)存儲至該指定存儲空間。
[0134]在本公開提供的第三種可能實現(xiàn)方式中,該裝置還包括:
[0135]替換模塊,用于用該差異數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)中的對應(yīng)數(shù)據(jù)。
[0136]在本公開提供的第四種可能實現(xiàn)方式中,該裝置還包括:
[0137]更新模塊,用于根據(jù)預(yù)設(shè)周期,用該預(yù)設(shè)周期內(nèi)最新的頁面數(shù)據(jù)替換該指定存儲空間中的該第一頁面數(shù)據(jù)。
[0138]關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0139]圖4是根據(jù)一示例性實施例示出的一種頁面顯示裝置400的框圖。例如,裝置400可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
[0140]參照圖4,裝置400可以包括以下一個或多個組件:處理組件402,存儲器404,電源組件406,多媒體組件404,音頻組件410,輸入/輸出(I/O)接口 412,傳感器組件414,以及通信組件416。
[0141]處理組件402通??刂蒲b置400的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件402可以包括一個或多個處理器420來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件402可以包括一個或多個模塊,便于處理組件402和其他組件之間的交互。例如,處理組件402可以包括多媒體模塊,以方便多媒體組件408和處理組件402之間的交互。
[0142]存儲器404被配置為存儲各種類型的數(shù)據(jù)以支持在裝置400的操作。這些數(shù)據(jù)的示例包括用于在裝置400上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器404可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
[0143]電源組件406為裝置400的各種組件提供電力。電源組件406可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置400生成、管理和分配電力相關(guān)聯(lián)的組件。
[0144]多媒體組件408包括在所述裝置400和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板