System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及终端,尤其涉及一种资源请求方法、装置及存储介质。
技术介绍
1、随着终端技术的发展,终端支持使用的应用程序(app)越来越多样化。其中,终端运行应用程序需要使用相应的资源。
2、相关技术中,应用程序运行所需使用的资源可以从应用程序自带的资源包中读取,也可以从终端的系统中读取应用程序运行所需使用的资源也可以是保存在网络服务器中,终端在需要使用的时候,从网络服务器中下载对应的资源。
3、相关技术中针对每一应用程序的每次资源请求时均会采用上述方式进行资源请求,对于同一应用或不同应用请求相同的资源时,相同资源在不同进程和线程间会有多份拷贝,导致的问题是资源包体大,使内存占用较大。
技术实现思路
1、为克服相关技术中存在的问题,本公开提供一种资源请求方法、装置及存储介质。
2、根据本公开实施例的第一方面,提供一种资源请求方法,应用于终端,所述终端中包括有用于存储资源的资源共享内存,所述方法包括:
3、确定所述终端所运行应用需要使用的目标资源;基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源。
4、一种实施方式中,所述基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源,包括:
5、确定所述资源共享内存中是否已存储有所述目标资源;若所述资源共享内存中已存储有所述目标资源,则基于所述资源共享内存中存储的所述目标资源,为所述应用分配所述目标资源;若所述资源共享内存中未存储有所述目标资源,则向服务端
6、一种实施方式中,所述为所述应用分配所述目标资源,包括:
7、确定引用所述目标资源的目标资源实例对象;基于所述目标资源实例对象,为所述应用分配所述目标资源。
8、一种实施方式中,所述确定引用所述目标资源的目标资源实例对象,包括:
9、确定是否已存在引用所述目标资源的目标资源实例对象;若存在,则将已存在的所述目标资源实例对象,作为引用所述目标资源的目标资源实例对象;若不存在,则创建所述目标资源实例对象,并将创建的所述目标资源实例对象作为引用所述目标资源的目标资源实例对象。
10、一种实施方式中,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
11、响应于所述应用具备渲染所述目标资源实例对象的功能,由所述应用渲染所述目标资源实例对象,得到为所述应用分配所述目标资源。
12、一种实施方式中,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
13、响应于所述应用不具备渲染所述目标资源实例对象的功能,调用渲染服务,由所述渲染服务渲染所述目标资源实例对象,得到为所述应用分配所述目标资源。
14、根据本公开实施例的第二方面,提供一种资源管理装置,所述装置包括:
15、确定单元,用于确定所述终端所运行应用需要使用的目标资源;分配单元,用于基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源。
16、一种实施方式中,所述分配单元采用如下方式基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源:
17、确定所述资源共享内存中是否已存储有所述目标资源;若所述资源共享内存中已存储有所述目标资源,则基于所述资源共享内存中存储的所述目标资源,为所述应用分配所述目标资源;若所述资源共享内存中未存储有所述目标资源,则向服务端请求下载所述目标资源,并存储于所述资源共享内存中,基于所述资源共享内存中存储的所述目标资源,为所述应用分配所述目标资源。
18、一种实施方式中,所述分配单元采用如下方式为所述应用分配所述目标资源:
19、确定引用所述目标资源的目标资源实例对象;基于所述目标资源实例对象,为所述应用分配所述目标资源。
20、一种实施方式中,所述分配单元采用如下方式确定引用所述目标资源的目标资源实例对象:
21、确定是否已存在引用所述目标资源的目标资源实例对象;若存在,则将已存在的所述目标资源实例对象,作为引用所述目标资源的目标资源实例对象;若不存在,则创建所述目标资源实例对象,并将创建的所述目标资源实例对象作为引用所述目标资源的目标资源实例对象。
22、一种实施方式中,所述分配单元采用如下方式基于所述目标资源实例对象,为所述应用分配所述目标资源:
23、响应于所述应用具备渲染所述目标资源实例对象的功能,由所述应用渲染所述目标资源实例对象,得到为所述应用分配所述目标资源。
24、一种实施方式中,所述分配单元采用如下方式基于所述目标资源实例对象,为所述应用分配所述目标资源:
25、响应于所述应用不具备渲染所述目标资源实例对象的功能,调用渲染服务,由所述渲染服务渲染所述目标资源实例对象,得到为所述应用分配所述目标资源。
26、根据本公开实施例第三方面,提供一种资源请求装置,包括:
27、处理器;
28、用于存储处理器可执行指令的存储器;
29、其中,所述处理器被配置为:执行第一方面或者第一方面任意一种实施方式中所述的方法。
30、根据本公开实施例的第四方面,提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行第一方面或者第一方面任意一种实施方式中所述的方法。
31、本公开的实施例提供的技术方案可以包括以下有益效果:确定终端所运行应用需要使用的目标资源,并基于资源共享内存中存储的资源,为所运行应用分配目标资源,无需针对相同的目标资源进行多份拷贝,能够减少内存的占用。
32、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文档来自技高网...【技术保护点】
1.一种资源请求方法,其特征在于,应用于终端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源,包括:
3.根据权利要求2所述的方法,特征在于,所述为所述应用分配所述目标资源,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定引用所述目标资源的目标资源实例对象,包括:
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
6.根据权利要求3或4所述的方法,其特征在于,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
7.一种资源请求装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述分配单元采用如下方式基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源:
9.根据权利要求8所述的装置,特征在于,所述分配单元采用如下方式为所述应用分配所述目标资源:
10.根据权利要求9所述的装置,其特征在于,
11.根据权利要求9或10所述的装置,其特征在于,所述分配单元采用如下方式基于所述目标资源实例对象,为所述应用分配所述目标资源:
12.根据权利要求9或10所述的装置,其特征在于,所述分配单元采用如下方式基于所述目标资源实例对象,为所述应用分配所述目标资源:
13.一种资源请求装置,其特征在于,包括:
14.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行权利要求1至6中任意一项所述的方法。
...【技术特征摘要】
1.一种资源请求方法,其特征在于,应用于终端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述资源共享内存中存储的资源,为所述应用分配所述目标资源,包括:
3.根据权利要求2所述的方法,特征在于,所述为所述应用分配所述目标资源,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定引用所述目标资源的目标资源实例对象,包括:
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
6.根据权利要求3或4所述的方法,其特征在于,所述基于所述目标资源实例对象,为所述应用分配所述目标资源,包括:
7.一种资源请求装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述分配单元采用如下方式基于所述资源共享...
【专利技术属性】
技术研发人员:唐金虎,
申请(专利权)人:北京小米移动软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。