业务模块预加载方法、跳转方法、装置及存储介质制造方法及图纸

技术编号:38602670 阅读:12 留言:0更新日期:2023-08-26 23:36
本申请公开了一种业务模块预加载方法、跳转方法、装置及存储介质,该业务模块预加载方法包括:获取目标应用的启动请求;根据启动请求,确定需要进行预加载的若干业务模块;加载各个业务模块的预加载文件,根据预加载文件及预先确定的所述各个业务模块的预加载信息生成所述各个业务模块的原生界面;将各个业务模块的原生界面缓存至缓存池,以实现若干业务模块的预加载,缓存池为预先设置的用于存储界面资源的缓存资源池。本申请实施例中进入业务模块的页面时,可以直接从缓存池中获取业务模块的原生界面进行页面展示,避免了因加载和渲染的等待时间而导致的白屏问题,实现了流畅无白屏的业务模块间跳转。屏的业务模块间跳转。屏的业务模块间跳转。

【技术实现步骤摘要】
业务模块预加载方法、跳转方法、装置及存储介质


[0001]本申请涉及通信
,具体涉及一种业务模块预加载方法、跳转方法、装置及存储介质。

技术介绍

[0002]随着业务发展,很多应用(Application,APP)项目开发中程序代码和业务越来越多,代码管理与协作开发变得困难,为了解决上述问题,现有技术对整个APP架构进行模块服务化的改造,使得每个APP由多个业务模块配置而成,各个业务模块的代码相互分离,便于APP协同开发与维护。但由于各个业务模块加载时存在加载和渲染的等待时间,进入业务模块的页面时存在白屏问题,影响用户体验。

技术实现思路

[0003]本申请实施例提供一种业务模块预加载方法、跳转方法、装置及存储介质,在进入业务模块的页面时,可以直接从缓存池中获取业务模块的原生界面进行页面展示,避免了因加载和渲染的等待时间而导致的白屏问题,实现了流畅无白屏的业务模块间跳转。
[0004]一方面,本申请提供一种业务模块预加载方法,所述业务模块预加载方法包括:
[0005]获取目标应用的启动请求;
[0006]根据所述启动请求,确定需要进行预加载的若干业务模块;
[0007]加载所述若干业务模块中各个业务模块的预加载文件,根据所述预加载文件及预先确定的所述各个业务模块的预加载信息生成所述各个业务模块的原生界面;
[0008]将所述各个业务模块的原生界面缓存至缓存池,以实现所述若干业务模块的预加载,所述缓存池为预先设置的用于存储界面资源的缓存资源池。
[0009]在本申请一些实施方案中,所述根据所述启动请求,确定需要进行预加载的若干业务模块,包括:
[0010]根据所述启动请求,确定所述目标应用对应的模块名称数组,所述模块名称数组为所述目标应用中需要进行预加载的若干业务模块的业务模块名称组成的数组;
[0011]根据所述模块名称数组,确定需要进行预加载的若干业务模块。
[0012]在本申请一些实施方案中,所述根据所述模块名称数组,确定需要进行预加载的若干业务模块,包括:
[0013]获取预先设置的各业务模块名称与业务模块的对应关系;
[0014]根据所述模块名称数组及所述对应关系,确定需要进行预加载的若干业务模块。
[0015]在本申请一些实施方案中,所述预加载文件中包括用于页面展示和交互的JS代码,所述根据所述预加载文件及预先确定的所述各业务模块的预加载信息生成所述各个业务模块的原生界面,包括:
[0016]获取所述预加载文件中的JS代码;
[0017]根据所述JS代码及预先确定的所述各个业务模块的预加载信息,生成所述各个业
务模块的原生界面。
[0018]在本申请一些实施方案中,所述获取目标应用的启动请求之前,所述方法还包括:
[0019]获取所述目标应用的业务模块文件集,所述业务模块文件集为所述目标应用中业务模块的资源文件组成的文件集合;
[0020]根据所述业务模块文件集,生成所述各个业务模块的预加载信息。
[0021]在本申请一些实施方案中,所述根据所述启动请求,确定需要进行预加载的若干业务模块,包括:
[0022]根据所述启动请求,判断目标应用对应的主线程是否空闲;
[0023]若所述主线程空闲,确定需要进行预加载的若干业务模块。
[0024]在本申请一些实施方案中,所述根据所述启动请求,确定需要进行预加载的若干业务模块,还包括:
[0025]根据所述启动请求,加载并渲染所述目标应用的主页业务模块。
[0026]另一方面,本申请提供一种业务模块预跳转方法,所述业务模块跳转方法应用于第一方面中任一项所述的业务模块预加载方法进行预加载的业务模块,所述业务模块预跳转方法包括:
[0027]当接收到跳转至目标业务模块的跳转指令时,从缓存池中获取所述目标业务模块的原生界面;
[0028]根据所述目标业务模块的原生界面和所述目标业务模块的预加载文件,对所述目标业务模块进行页面展示。
[0029]在本申请一些实施方案中,所述从缓存池中获取所述目标业务模块的原生界面之前,所述方法还包括:
[0030]获取所述缓存池中的缓存标记,根据所述缓存标记确定所述缓存池中是否存在所述目标业务模块的原生界面;
[0031]当所述缓存池中不存在所述目标业务模块的原生界面时,根据所述目标业务模块的预加载文件及预先确定的所述目标业务模块的预加载信息生成所述目标业务模块的原生界面。
[0032]另一方面,本申请提供一种业务模块预加载装置,所述业务模块预加载装置包括:
[0033]请求获取模块,用于获取目标应用的启动请求;
[0034]模块确定单元,用于根据所述启动请求,确定需要进行预加载的若干业务模块;
[0035]界面生成单元,用于加载所述若干业务模块中各个业务模块的预加载文件,根据所述预加载文件及预先确定的所述各个业务模块的预加载信息生成所述各个业务模块的原生界面;
[0036]预加载单元,用于将所述各个业务模块的原生界面缓存至缓存池,以实现所述若干业务模块的预加载,所述缓存池为预先设置的用于存储界面资源的缓存资源池。
[0037]在本申请一些实施方案中,所述模块确定单元具体用于:
[0038]根据所述启动请求,确定所述目标应用对应的模块名称数组,所述模块名称数组为所述目标应用中需要进行预加载的若干业务模块的业务模块名称组成的数组;
[0039]根据所述模块名称数组,确定需要进行预加载的若干业务模块。
[0040]在本申请一些实施方案中,所述模块确定单元具体还用于:
[0041]获取预先设置的各业务模块名称与业务模块的对应关系;
[0042]根据所述模块名称数组及所述对应关系,确定需要进行预加载的若干业务模块。
[0043]在本申请一些实施方案中,所述模块确定单元具体还用于:
[0044]根据所述启动请求,判断目标应用对应的主线程是否空闲;
[0045]若所述主线程空闲,确定需要进行预加载的若干业务模块。
[0046]在本申请一些实施例中,所述业务模块预加载装置还包括:
[0047]主页渲染单元,用于根据所述启动请求,加载并渲染所述目标应用的主页业务模块。
[0048]在本申请一些实施例中,所述界面生成单元具体用于:
[0049]获取所述预加载文件中的JS代码;
[0050]根据所述JS代码及预先确定的所述各个业务模块的预加载信息,生成所述各个业务模块的原生界面。
[0051]在本申请一些实施例中,所述业务模块预加载装置还包括:
[0052]文件获取单元,用于获取所述目标应用的业务模块文件集,所述业务模块文件集为所述目标应用中业务模块的资源文件组成的文件集合;
[0053]信息生成单元,用于根据所述业务模块文件集,生成所述各个业务模块的预加载信息。
...

【技术保护点】

【技术特征摘要】
1.一种业务模块预加载方法,其特征在于,所述业务模块预加载方法包括:获取目标应用的启动请求;根据所述启动请求,确定需要进行预加载的若干业务模块;加载所述若干业务模块中各个业务模块的预加载文件,根据所述预加载文件及预先确定的所述各个业务模块的预加载信息生成所述各个业务模块的原生界面;将所述各个业务模块的原生界面缓存至缓存池,以实现所述若干业务模块的预加载,所述缓存池为预先设置的用于存储界面资源的缓存资源池。2.根据权利要求1所述的业务模块预加载方法,其特征在于,所述根据所述启动请求,确定需要进行预加载的若干业务模块,包括:根据所述启动请求,确定所述目标应用对应的模块名称数组,所述模块名称数组为所述目标应用中需要进行预加载的若干业务模块的业务模块名称组成的数组;根据所述模块名称数组,确定需要进行预加载的若干业务模块。3.根据权利要求2所述的业务模块预加载方法,其特征在于,所述根据所述模块名称数组,确定需要进行预加载的若干业务模块,包括:获取预先设置的各业务模块名称与业务模块的对应关系;根据所述模块名称数组及所述对应关系,确定需要进行预加载的若干业务模块。4.根据权利要求1所述的业务模块预加载方法,其特征在于,所述预加载文件中包括用于页面展示和交互的JS代码,所述根据所述预加载文件及预先确定的所述各个业务模块的预加载信息生成所述各个业务模块的原生界面,包括:获取所述预加载文件中的JS代码;根据所述JS代码及预先确定的所述各个业务模块的预加载信息,生成所述各个业务模块的原生界面。5.根据权利要求1至4任一项所述的业务模块预加载方法,其特征在于,所述获取目标应用的启动请求之前,所述方法还包括:获取所述目标应用的业务模块文件集,所述业务模块文件集为所述目标应用中业务模块的资源文件组成的文件集合;根据所述业务模块文件集,生成所述各个业务模块的预加载信息。6.根据权利要求1至4任一项所述的业务模块预加载方法,其特征在于,所述根据所述启动请求,确定需要进行预加载的若干业务模...

【专利技术属性】
技术研发人员:滕睿
申请(专利权)人:顺丰科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1