[發明專利]函數加載方法及裝置、計算機可讀存儲介質、終端有效
| 申請號: | 201710501825.5 | 申請日: | 2017-06-27 |
| 公開(公告)號: | CN109144599B | 公開(公告)日: | 2021-09-24 |
| 發明(設計)人: | 李爽 | 申請(專利權)人: | 上海木雞網絡科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 張振軍;吳敏 |
| 地址: | 200030 上海市崇明縣*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數 加載 方法 裝置 計算機 可讀 存儲 介質 終端 | ||
一種函數加載方法及裝置、計算機可讀存儲介質、終端,所述方法包括以下步驟:對在瀏覽器中運行的代碼進行監測;根據監測結果從服務器加載函數,每次加載的函數是所述代碼所需的全部函數的一部分。本發明方案可以減少瀏覽器單次從服務器加載的函數數量,從而減少單次加載時間,盡量減少或避免瀏覽器崩潰的問題。
技術領域
本發明涉及計算機技術領域,尤其是一種函數加載方法及裝置、計算機可讀存儲介質、終端。
背景技術
在現有技術中,在瀏覽器運行代碼時,采用的方法為首先對所述代碼所需的全部函數進行加載,進而逐個或逐批調用加載后的函數以運行該代碼。
但是,現階段許多大型程序包含的函數數量非常巨大,容易導致在瀏覽器運行時加載時間過長甚至崩潰的問題。例如當所述大型程序為一個大型游戲項目時,容易使移動設備瀏覽器在游戲過程中出現卡機或死機,降低用戶體驗。
發明內容
本發明解決的技術問題是提供一種函數加載方法,可以減少瀏覽器單次從服務器加載的函數數量,從而減少單次加載時間,盡量減少或避免瀏覽器崩潰的問題。
為解決上述技術問題,本發明實施例提供一種函數加載方法,包括以下步驟:對在瀏覽器中運行的代碼進行監測;根據監測結果從服務器加載函數,每次加載的函數是所述代碼所需的全部函數的一部分。
可選的,所述代碼中設置有多個階段切換點,所述根據監測結果從服務器加載函數包括:在檢測到所述階段切換點時,根據加載列表確定下一階段的每個待加載函數是否已加載;加載未加載的待加載函數;其中,所述階段切換點的位置由所述服務器配置,相鄰階段切換點之間的每個階段具有一個或多個待加載函數。
可選的,所述加載列表是預先從所述服務器獲取的。
可選的,在加載未加載的待加載函數之前,所述的函數加載方法還包括:對于已加載的函數,卸載所述下一階段的待加載函數以外的函數。
可選的,所述根據監測結果從服務器加載函數包括:當監測結果表明所述函數被調用且未被加載時,從所述服務器加載所述函數。
可選的,所述從所述服務器加載所述函數之后,所述的函數加載方法包括:將所述函數追加到已加載函數隊列的尾部;其中,所述已加載函數隊列中按照加載先后順序記錄有已加載的函數。
可選的,從所述服務器加載所述函數之前,所述的函數加載方法還包括:確定所述已加載函數隊列中包括的函數的數目;當所述函數的數目超出第一預設數目時,從所述已加載函數隊列的頭部依序移除已加載的函數,并且卸載被移除的函數,直至所述已加載函數隊列中的函數數目少于等于所述第一預設數目。
可選的,所述的函數加載方法還包括:向所述服務器發送所述已加載函數隊列。
可選的,所述的函數加載方法還包括:當所述監測結果表明所述函數被調用且已記錄于所述已加載函數隊列時,將所述函數調換至所述已加載函數隊列的尾部。
可選的,從所述服務器加載所述函數之前,所述的函數加載方法還包括:確定已加載的函數的數目;當所述數目超出第二預設數目時,從所述已加載的函數中依序卸載最早加載的函數,直至已加載的函數的數目少于等于所述第二預設數目。
可選的,所述的函數加載方法還包括:向服務器發送卸載后的已加載的函數的列表。
為解決上述技術問題,本發明實施例提供一種函數加載裝置,包括:監測模塊,適于對在瀏覽器中運行的代碼進行監測;加載模塊,適于根據監測結果從服務器加載函數,每次加載的函數是所述代碼所需的全部函數的一部分。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海木雞網絡科技有限公司,未經上海木雞網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710501825.5/2.html,轉載請聲明來源鉆瓜專利網。





