System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,具體而言,涉及一種提升小程序界面加載速度的方法、裝置、介質及設備。
技術介紹
1、隨著移動互聯網的快速發展,人們對于便捷高效的應用程序需求日益增長。而在這個需求背景下,小程序app(application,應用程序)的興起成為了一種全新的解決方案。小程序以其輕量、便捷、無需安裝等特點,為用戶提供了更加便利的移動互聯網服務體驗,被視為探索移動互聯網新時代的重要入口。
2、當前小程序的用戶體驗對于用戶來說至關重要。然而,許多小程序在加載過程中存在延遲,導致用戶等待時間過長,影響了用戶體驗。
3、針對上述現有技術中小程序加載時間較長的技術問題,目前尚未提出有效的解決方案。
技術實現思路
1、本申請實施例提供了一種提升小程序界面加載速度的方法、裝置、介質及設備,以至少解決現有技術中小程序加載時間較長的技術問題。
2、根據本申請實施例的一個方面,提供了一種提升小程序界面加載速度的方法,該方法包括:在接收到小程序界面加載請求時,并行調用預加載網絡請求線程和渲染線程;預加載網絡請求線程獲取所述小程序界面加載請求所需的預請求參數信息,基于所述預請求參數信息發送預加載網絡請求至所述小程序界面對應的服務器,在收到所述服務器返回的請求結果后,保存所述預請求參數信息和請求結果的映射關系;渲染線程對所述小程序界面進行資源初始化后,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,基于所述請求結果加載并
3、在上述任一實施例的基礎上,在調用所述預加載網絡請求線程之前,還包括:
4、在所述小程序界面所在目錄生成預加載網絡請求js文件。
5、在上述任一實施例的基礎上,所述調用渲染線程,包括:
6、基于所述小程序界面加載請求,頁面路由框架捕獲路由意圖,獲取應用名稱和頁面路由;
7、所述預加載網絡請求線程獲取所述小程序界面加載請求所需的預請求參數信息,包括:
8、獲取所述渲染線程解析的應用名稱和頁面路由,并判斷所述小程序界面是否存在預加載網絡請求js文件;
9、在所述小程序界面存在預加載網絡請求js文件時,獲取系統基本參數,傳遞給所述js文件,以基于所述系統基本參數生成所述預請求參數信息。
10、在上述任一實施例的基礎上,基于所述系統基本參數生成所述預請求參數信息,包括:
11、所述js文件基于所述系統基本參數生成http請求基礎參數和http請求業務專用參數,將所述http請求基礎參數和http請求業務專用參數作為所述預請求參數信息。
12、在上述任一實施例的基礎上,在收到所述服務器返回的請求結果后,保存所述預請求參數信息和請求結果的映射關系,包括:
13、在收到所述請求結果時,計算所述預請求參數信息的第一哈希值,保存所述第一哈希值和請求結果的映射關系。
14、在上述任一實施例的基礎上,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,包括:
15、發起的業務網絡請求,計算所述業務網絡請求中的業務網絡請求參數的第二哈希值;
16、根據所述第二哈希值在所述映射關系中獲取與所述第二哈希值相同的所述第一哈希值對應的請求結果,返回給業務并更新緩存。
17、在上述任一實施例的基礎上,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,還包括:
18、在根據所述第二哈希值在所述映射關系中未查找到所述第一哈希值對應的請求結果時,判斷是否有相同哈希值的預加載網絡請求正在執行,若有相同哈希值的預加載網絡請求正在執行,則等待預加載網絡請求返回請求結果;若沒有相同哈希值的預加載網絡請求正在執行,則再次發起業務網絡請求。
19、根據本申請實施例的另一個方面,提供了一種提升小程序界面加載速度的裝置,該裝置包括:
20、參數構造模塊,用于在接收到小程序界面加載請求時,并行調用預加載網絡請求線程和渲染線程,其中所述預加載網絡請求線程獲取所述小程序界面加載請求所需的預請求參數信息;
21、請求發送模塊,用于基于所述預請求參數信息發送預加載網絡請求至所述小程序界面對應的服務器;
22、數據緩存模塊,用于在收到所述服務器返回的請求結果后,保存所述預請求參數信息和請求結果的映射關系;
23、界面加載模塊,用于在所述渲染線程對所述小程序界面進行資源初始化后,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,基于所述請求結果加載并顯示所述小程序界面。
24、根據本申請實施例的另一個方面,提供了一種存儲介質,存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行上述任一實施例所述的方法。
25、根據本申請實施例的另一個方面,提供了一種計算設備,包括處理器,處理器用于運行程序,其中,程序運行時執行上述任一實施例所述的方法。
26、在本申請實施例中,可以使小程序界面容器的初始化和預加載網絡請求并行執行利用預加載網絡請求的方式,通過提前獲取并緩存數據,以加速小程序界面的顯示速度。通過這一方法,可以顯著提高小程序的響應速度,改善用戶體驗,減少用戶在等待界面加載時的時間,使小程序界面顯示更加迅速,進而解決了現有技術中小程序加載時間較長的技術問題。因此可以增強用戶對小程序的滿意度,大大提升用戶體驗。
本文檔來自技高網...【技術保護點】
1.一種提升小程序界面加載速度的方法,其特征在于,該方法包括:
2.根據權利要求1所述的方法,其特征在于,在調用所述預加載網絡請求線程之前,還包括:
3.根據權利要求1所述的方法,其特征在于,調用所述渲染線程,包括:
4.根據權利要求3所述的方法,其特征在于,基于所述系統基本參數生成所述預請求參數信息,包括:
5.根據權利要求1所述的方法,其特征在于,在收到所述服務器返回的請求結果后,保存所述預請求參數信息和請求結果的映射關系,包括:
6.根據權利要求5所述的方法,其特征在于,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,包括:
7.根據權利要求6所述的方法,其特征在于,基于所述預請求參數信息從所述預加載網絡請求線程保存的所述映射關系中獲取所述預請求參數信息對應的請求結果,還包括:
8.一種提升小程序界面加載速度的裝置,其特征在于,該裝置包括:
9.一種存儲介質,其特征在于,所述存儲介質包括存儲的程序,其中,在所述程序運行時控制
10.一種計算設備,包括處理器,其特征在于,所述處理器用于運行程序,其中,所述程序運行時執行如權利要求1-7任一項所述的方法。
...【技術特征摘要】
1.一種提升小程序界面加載速度的方法,其特征在于,該方法包括:
2.根據權利要求1所述的方法,其特征在于,在調用所述預加載網絡請求線程之前,還包括:
3.根據權利要求1所述的方法,其特征在于,調用所述渲染線程,包括:
4.根據權利要求3所述的方法,其特征在于,基于所述系統基本參數生成所述預請求參數信息,包括:
5.根據權利要求1所述的方法,其特征在于,在收到所述服務器返回的請求結果后,保存所述預請求參數信息和請求結果的映射關系,包括:
6.根據權利要求5所述的方法,其特征在于,基于所述預請求參數信息從所述預加載網絡請求線程保存的所...
【專利技術屬性】
技術研發人員:趙大帥,李丹,王海權,
申請(專利權)人:北京紛揚科技有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。