一種基于json格式的頁面生成和顯示方法
【技術領域】
[0001] 本發明涉及計算機技術,特別涉及一種頁面生成和顯示方法,尤其涉及一種基于 JSON格式的頁面生成和顯示方法。
【背景技術】
[0002] 現有的瀏覽器進行頁面加載的一般過程是:接收用戶提交的統一資源定位符,向 相應服務器請求頁面數據,將請求到的頁面數據下載到瀏覽器,然后對頁面數據進行渲染, 通過瀏覽器窗口展示經渲染處理后的頁面。
[0003] 過去主流的頁面格式是XML格式,隨著JSON格式的出現,有日漸取代XML的趨勢。 然而發明人在實際的研發與應用中發現,JSON格式雖然速度快,但是也存在缺陷,尤其是當 頁面占用資源過大而不能一次性加載的情況下,容易產生系統崩潰。因此,本發明提出了一 種基于JSON格式的頁面生成和顯示方法,在頁面加載速度與性能方面達到最佳均衡,提高 用戶體驗。
【發明內容】
[0004] 為解決上述現有技術所存在的問題,本發明通過根據內存容量空間的檢測,從而 根據預定條件實現JSON格式的轉化,因而提供了一種基于JSON格式的頁面生成和顯示方 法,包括:接收來自終端的頁面加載請求;根據所述頁面加載請求獲取基于JSON格式的頁 面配置文件;根據所述基于JSON格式的頁面配置文件計算所述頁面需要占用的內存資源 數量;獲取預先設置的預留內存資源數量;計算內存需求總量,所述內存需求總量等于所 述頁面需要占用的內存資源數量與所述預留內存資源數量之和;調用系統資源管理器,計 算當前可用內存資源數量;如果所述內存需求總量小于所述當前可用內存資源數量,則以 全部加載方式加載所述頁面;如果所述內存需求總量大于或等于所述當前可用內存資源數 量,則將所述基于JSON格式的頁面配置文件轉換為基于XML格式的頁面配置文件并以部分 加載方式加載所述頁面。
[0005] 優選地,所述以全部加載方式加載所述頁面包括:解析所述JSON格式的頁面配置 文件,獲取所有頁面元件的屬性信息,所述所有頁面元件包含多個頁面元件組;將所述所有 頁面元件的屬性信息一次性讀入內存中;計算每個頁面元件組的尺寸值,所述尺度值包括 寬度值和長度值;利用所述每個頁面元件組的尺寸值計算頁面尺寸值,并根據所述頁面尺 寸值生成初始頁面;根據所述所有頁面元件的屬性信息在所述初始頁面上配置所有頁面元 件以生成所述頁面。將所述頁面發送至所述終端并進行顯示。
[0006] 優選地,所述計算每個頁面元件組的尺寸值包括:按照以下公式分別計算每一頁
【主權項】
1. 一種基于JSON格式的頁面生成和顯示方法,包括: 接收來自終端的頁面加載請求; 根據所述頁面加載請求獲取基于JSON格式的頁面配置文件; 根據所述基于JSON格式的頁面配置文件計算所述頁面需要占用的內存資源數量; 獲取預先設置的預留內存資源數量; 計算內存需求總量,所述內存需求總量等于所述頁面需要占用的內存資源數量與所述 預留內存資源數量之和; 調用系統資源管理器,計算當前可用內存資源數量; 如果所述內存需求總量小于所述當前可用內存資源數量,則以全部加載方式加載所述 頁面; 如果所述內存需求總量大于或等于所述當前可用內存資源數量,則將所述基于JSON 格式的頁面配置文件轉換為基于XML格式的頁面配置文件并以部分加載方式加載所述頁 面。
2. 根據權利要求1所述頁面生成和顯示方法,其特征在于,所述以全部加載方式加載 所述頁面包括: 解析所述JSON格式的頁面配置文件,獲取所有頁面元件的屬性信息,所述所有頁面元 件包含多個頁面元件組; 將所述所有頁面元件的屬性信息一次性讀入內存中; 計算每個頁面元件組的尺寸值,所述尺度值包括寬度值和長度值; 利用所述每個頁面元件組的尺寸值計算頁面尺寸值,并根據所述頁面尺寸值生成初始 頁面; 根據所述所有頁面元件的屬性信息在所述初始頁面上配置所有頁面元件以生成所述 頁面; 將所述頁面發送至所述終端并進行顯示。
3. 根據權利要求2所述的頁面生成和顯示方法,其特征在于,所述計算每個頁面元件 組的尺寸值包括: 按照以下公式分別計算每一頁面元件組的寬度值和長度值:
f其中,Wi為第i頁面元件組的寬度值,W u為第i 頁面元件組中第j個頁面元件的寬度值,Cij為第i頁面元件組中第j個頁面元件與第j+1 個頁面元件之間的橫向距離,Li為第i頁面元件組的長度值,Lij為第i頁面元件組中第j 個頁面元件的長度值,D u為第i頁面元件組中第j個頁面元件與第j+1個頁面元件之間的 縱向距離。
4. 根據權利要求1所述的頁面生成和顯示方法,其特征在于,所述以部分加載方式加 載所述頁面包括: 解析所述XML格式的頁面配置文件,獲取所有頁面元件中屬于第1頁面元件組的多個 頁面元件的屬性信息,所述所有頁面元件包含多個頁面元件組; 將所述第1頁面元件組的多個頁面元件的屬性信息讀入內存中; 計算所述第1頁面元件組的尺寸值,所述尺度值包括寬度值和長度值; 利用所述第1頁面元件組的尺寸值計算頁面尺寸值,并根據所述頁面尺寸值生成初始 頁面; 根據所述第1頁面元件組中的多個頁面元件的屬性信息在所述初始頁面上配置所述 多個頁面元件以生成所述頁面; 將所述頁面發送至所述終端并進行顯示。
5. 根據權利要求4所述的頁面生成和顯示方法,其特征在于,所述計算所述第1頁面元 件組的尺寸值包括: 按照以下公式分別計算第1頁面元件組的寬度值和長度值:
,其中,W1為第1 頁面元件組的寬度值,Wlj為第1頁面元件組中第j個頁面元件的寬度值,C U為第1頁面元 件組中第j個頁面元件與第j+Ι個頁面元件之間的橫向距離,L1為第1頁面元件組的長度 值,Llj為第1頁面元件組中第j個頁面元件的長度值,D U為第1頁面元件組中第j個頁面 元件與第j+Ι個頁面元件之間的縱向距離。
6. 根據權利要求5所述的頁面生成和顯示方法,其特征在于,所述方法還包括響應于 預設的時間條件,以與處理所述所有頁面元件中的第1頁面元件組同樣的方式處理所有頁 面元件中的第2頁面元件組以及其他頁面元件組。
7. 根據權利要求2-6中任意一個所述的頁面生成和顯示方法,其特征在于,所述屬性 信息包括頁面元件基本信息、頁面元件分組信息、組內配置信息以及組間配置信息。
【專利摘要】本申請提出了一種基于JSON格式的頁面生成和顯示方法,包括:接收頁面加載請求;獲取基于JSON格式的頁面配置文件;計算所述頁面需要占用的內存資源數量;獲取預先設置的預留內存資源數量;計算內存需求總量;計算當前可用內存資源數量;如果所述內存需求總量小于所述當前可用內存資源數量,則以全部加載方式加載所述頁面;否則將所述基于JSON格式的頁面配置文件轉換為基于XML格式的頁面配置文件并以部分加載方式加載所述頁面。實現適應不同內存條件的需要,減少系統崩潰的幾率;使得內存資源判斷的粒度更小,內存實際可用資源的判斷準確度更高;提高了實際頁面加載速度;克服了JSON格式不能部分加載的缺陷等有益的技術效果。
【IPC分類】G06F17-30
【公開號】CN104765760
【申請號】CN201510000862
【發明人】徐禮正
【申請人】北京可思云海科技有限公司
【公開日】2015年7月8日
【申請日】2015年1月4日