对象加载方法、装置、电子设备及存储介质与流程



1.本公开涉及计算机领域,尤其涉及一种对象加载方法、装置、电子设备及存储介质。


背景技术:



2.在计算机应用程序开发领域,随着应用程序的不断迭代,具有映射关系的对象越来越多,比如,可以包括类与类之间的映射关系,或者类与属性之间的映射关系,等等。对象之间的映射关系可以通过“键值对”的形式体现,每个键值对包括关键字和值,每当给定一个关键字,可以得到这个关键字对应的值,从而实现关键字与值之间的映射。
3.现有技术中,各个对象之间的映射关系通常在集合(collection)中存储,在代码运行时,如果需要获取任意对象的映射关系,就需要读取集合中的所有映射关系,对集合中涉及的所有对象进行加载,从而导致对移动端应用的内存的大量占用,进而降低了移动端应用的运行速度。


技术实现要素:



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.可选的,所述查询单元,具体被配置为执行:
33.响应于接收到的针对目标对象的加载指令,将所述目标对象的目标关键字作为预设函数的输入值;
34.利用所述预设函数,基于所述输入值在所述映射表中进行查询,输出所述目标关键字对应的目标值。
35.可选的,所述预设函数为基于条件执行语句的函数,所述查询单元,具体被配置为执行:
36.利用所述基于条件执行语句的函数,查询所述映射表中与所述基于条件执行语句的函数的输入值相匹配的关键字,将查询到的关键字对应的值作为所述目标关键字对应的目标值。
37.可选的,所述基于条件执行语句的函数基于常数值进行查询;
38.所述查询单元,具体被配置为执行:
39.利用预设算法,对所述映射表进行遍历,将所述键值对中的关键字转换为常数值,得到查询表,所述查询表中包括每个键值对对应的节点,每个节点包括所对应的键值对的关键字转换得到的常数值及所对应的键值对的值;
40.利用所述预设算法,将所述基于条件执行语句的函数的输入值转换为输入常数;
41.利用所述基于条件执行语句的函数,查询所述查询表中与所述输入常数相匹配的常数值,将查询到的常数值对应的值作为所述目标关键字对应的目标值。
42.可选的,所述预设算法包括哈希算法或安全散列算法。
43.可选的,所述关键字与预设类唯一对应,所述关键字对应的值表示与所述关键字对应的预设类具有映射关系的类,所述目标对象为目标类;
44.所述加载单元,具体被配置为执行加载所述目标类及与所述目标类具有映射关系的类。
45.可选的,所述根据所述生成单元,具体被配置为执行:
46.读取所述映射配置信息,分别将每个对象的标识信息作为关键字,将与所述对象具有映射关系的对象的标识信息作为所述关键字对应的值,得到每个对象对应的键值对,作为映射表。
47.根据本公开实施例的第三方面,提供一种对象加载电子设备,包括:
48.处理器;
49.用于存储所述处理器可执行指令的存储器;
50.其中,所述处理器被配置为执行所述指令,以实现上述第一项所述的对象加载方法。
51.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由对象加载电子设备的处理器执行时,使得对象加载电子设备能够执行上述第一项所述的对象加载方法。
52.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一项所述的对象加载方法。
53.本公开的实施例提供的技术方案至少带来以下有益效果:
54.获取映射配置信息,映射配置信息用于指示对象之间的映射关系;根据映射配置信息,生成映射表,映射表中包括多个键值对,每个键值对包括一个关键字及关键字对应的值,关键字及值分别表示具有映射关系的不同的对象;响应于接收到的针对目标对象的加载指令,在映射表中查询目标对象的目标关键字对应的目标值;加载目标对象及目标值对应的对象。
55.这样,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对移动端应用的内存的大量占用,进而提高
移动端应用的运行速度。
56.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
58.图1是根据一示例性实施例示出的一种对象加载方法的流程图。
59.图2是根据一示例性实施例示出的一种对象加载方法的逻辑示意图。
60.图3是根据一示例性实施例示出的一种对象加载装置的框图。
61.图4是根据一示例性实施例示出的一种用于对象加载的电子设备的框图。
62.图5是根据一示例性实施例示出的一种用于对象加载的装置的框图。
具体实施方式
63.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
64.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
65.图1是根据一示例性实施例示出的一种对象加载方法的流程图,如图1所示,该对象加载方法包括以下步骤。
66.在步骤s11中,获取映射配置信息,映射配置信息用于指示对象之间的映射关系。
67.在计算机应用程序的开发过程中,随着开发对象的增多,对象之间的映射关系也越来越复杂,比如,存在类与类之间的映射关系,或者类与属性之间的映射关系,等等。对象之间的映射关系可以通过“键值对”的形式体现,每个键值对包括关键字和值,每当给定一个关键字,可以得到这个关键字对应的值,从而实现关键字与值之间的映射。
68.在本步骤中,映射配置信息中存储着对象之间的映射关系的信息,映射配置信息可以是在代码编译或编辑阶段,开发人员人为定义并输入的,或者,也可以是从其他设备中获取的,具体不做限定。
69.在步骤s12中,根据映射配置信息,生成映射表,映射表中包括多个键值对,每个键值对包括一个关键字及关键字对应的值,关键字及值分别表示具有映射关系的不同的对象。
70.一种实现方式中,根据映射配置信息,生成映射表的步骤,具体可以包括:读取映射配置信息,分别将每个对象的标识信息作为关键字,将与对象具有映射关系的对象的标识信息作为关键字对应的值,得到每个对象对应的键值对,作为映射表。
71.也就是说,通过读取映射配置信息,可以确定每个对象与其他对象之间的映射关
系,然后,可以针对每个对象,将该对象的标识信息作为关键字,将与该对象具有映射关系的其他对象的标识信息作为该关键字的值,生成键值对,进而,就得到了映射配置信息中包括的每个对象对应的键值对,这些键值对可以组成映射表。其中,标识信息与对象具有唯一对应的关系,具体可以为该对象的名称,也可以是该对象的路径信息,等等,具体不做限定。这样,根据映射配置信息,可以生成映射表,在映射表中更明确有条理地显示各个对象之间的映射关系,便于后续基于对象之间的映射关系进行加载。
72.举例而言,映射表可以表示为m={m1,m2,

,mi,

,mn},其中,每个节点m分别表示一个键值对,n表示键值对的总数量,对于任意节点mi=(ki,vi),ki表示该键值对中的关键字,vi表示ki对应的值。
73.在步骤s13中,响应于接收到的针对目标对象的加载指令,在映射表中查询目标对象的目标关键字对应的目标值。
74.在本公开中,如果接收到对目标对象的加载指令,则需要对目标对象进行加载,可以理解,在程序的运行过程中,由于对象之间具有映射关系,在调用目标对象时,通常也需要调用与目标对象具有映射关系的其他对象。那么,在本步骤中,响应于接收到的针对目标对象的加载指令,可以在映射表中查询目标对象的目标关键字对应的目标值,也就是查询与目标对象具有映射关系的其他对象,便于后续的目标对象加载,减少目标对象的调用出错的可能。
75.一种实现方式中,响应于接收到的针对目标对象的加载指令,在映射表中查询目标对象的目标关键字对应的目标值的步骤,可以包括:响应于接收到的针对目标对象的加载指令,将目标对象的目标关键字作为预设函数的输入值;利用预设函数,基于输入值在映射表中进行查询,输出目标关键字对应的目标值。
76.也就是说,在接收到针对目标对象的加载指令之后,可以将目标对象的目标关键字作为预设函数的输入值,然后,调用预设函数,基于目标关键字在映射表中进行查询,确定目标关键字对应的键值对,进而,将目标关键字对应的值作为预设函数的输出,得到目标值。这样,利用预设函数,可以实现在映射表中的查询,从各个对象对应的键值对中确定出目标对象的键值对,进而根据目标对象的键值对确定与目标对象具有映射关系的其他对象,以便于后续的对象加载和调用过程。
77.其中,预设函数可以为基于条件执行语句的函数,条件执行语句是一种根据条件执行不同代码的语句,如果条件满足则执行一段代码,否则执行其他代码,比如,条件执行语句可以为switch-case语句等,具体不做限定。那么,利用预设函数,基于输入值在映射表中进行查询,输出目标关键字对应的目标值的步骤,可以包括:利用基于条件执行语句的函数,查询映射表中与基于条件执行语句的函数的输入值相匹配的关键字,将查询到的关键字对应的值作为目标关键字对应的目标值。
78.也就是说,在映射表中查询到与基于条件执行语句的函数的输入值相匹配的关键字的条件下,执行将查询到的关键字对应的值作为目标值进行输出的步骤,其中,关键字与函数的输入值相匹配,可以是指关键字与函数的输入值相同,或者,也可以是指关键字经过某种算法的转换后,可以得到函数的输入值,等等,具体不做限定。这样,利用基于条件执行语句的函数,可以快速实现在映射表中的查询处理,进一步提高对象加载的效率。
79.一种实现方式中,基于条件执行语句的函数基于常数值进行查询;那么,在根据映
射配置信息,生成映射表之后,可以利用预设算法,对映射表进行遍历,将键值对中的关键字转换为常数值,得到查询表,查询表中包括每个键值对对应的节点,每个节点包括所对应的键值对的关键字转换得到的常数值及所对应的键值对的值。也就是说,将映射表中每个键值对的关键字经过预设算法的处理,转换为常数值,从而将映射表转换为查询表。
80.对应的,利用基于条件执行语句的函数,查询映射表中与函数的输入值相匹配的关键字,将查询到的关键字对应的值作为目标关键字对应的目标值的步骤,可以包括:利用预设算法,将基于条件执行语句的函数的输入值转换为输入常数;利用基于条件执行语句的函数,查询查询表中与输入常数相匹配的常数值,将查询到的常数值对应的值作为目标关键字对应的目标值。也就是说,利用同样的预设算法,将函数的输入值转换为常数值,进而利用基于条件执行语句的函数,在查询表中进行查询处理,确定与输入常数相匹配的常数值,进而将相匹配的常数值对应的值作为目标值。
81.这样,利用相同的预设算法,对映射表中的关键字及函数的输入值进行转换,在关键字及输入值相匹配的情况下,分别进行转换得到的常数值也是相匹配的,从而有助于利用基于条件执行语句的函数进行快速查询处理,提高对象加载效率。
82.其中,预设算法包括哈希算法或安全散列算法,这样,转换得到的常数值也具有唯一性,即不同的关键字或输入值不会得到相同的常数值,从而便于维护查询表中每个节点的唯一性。
83.举例而言,查询表可以表示为h={h1,h2,

,hi,
……
,hn},其中,n表示键值对的总数量,与映射表m中的键值对数量相同,任意节点h可以表示为hi=(si,vi),si表示关键字ki转换得到的常数值,且ki和si存在唯一对应的关系,vi表示si对应的值,与映射表m中ki对应的值相同。
84.在步骤s14中,加载目标对象及目标值对应的对象。
85.在映射表中查询到目标对象的目标关键字对应的目标值之后,可以确定目标值对应的对象,也就是与目标对象具有映射关系的其他对象,进而,可以加载目标对象及目标值对应的对象,也就是说,每次加载只需加载目标对象及与目标对象具有映射关系的对象,而不需要一次性加载全部的对象,在目标对象可以正常进行调用的情况下,可以实现降低移动端应用的内存占用以及提升移动端应用的加载速度的效果。
86.一种实现方式中,关键字与预设类唯一对应,关键字对应的值表示与关键字对应的预设类具有映射关系的类,目标对象为目标类;那么,加载目标对象及目标值对应的对象,包括:加载目标类及与目标类具有映射关系的类。也就是说,对象可以是程序代码中的类,这样,采用本方案提供的对象加载方法,可以提高类加载的效率。
87.举例而言,如图2所示,为一种实现方式中,本方案的逻辑示意图。首先,在编译代码或编辑代码阶段,可以从映射配置信息中获取类之间的映射关系,然后,根据类之间的映射关系,建立映射表m={m1,m2,

,mi,

,mn},其中任意节点mi=(ki,vi),ki表示任意类,vi表示与该类具有映射关系的其他类,然后,建立节点数量与m相同的查询表h={h1,h2,

,hi,
……
,hn},并遍历m中的所有节点,利用哈希算法或安全散列算法,将m中每个节点的关键字ki转换为常数值si,得到与m中的节点一一对应的h中的节点,也就是说,h中的任意节点hi=(si,vi),进而,基于查询表h,可以动态生成基于switch-case语句的函数f,当函数f的输入值为h中某个节点的si,则函数f可以查询并输出si对应的vi,进而确定与ki
所表示的类具有映射关系的其他类。
88.由以上可见,本公开的实施例提供的技术方案,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对移动端应用的内存的大量占用,进而提高移动端应用的运行速度。
89.图3是根据一示例性实施例示出的一种对象加载装置框图,该装置包括:
90.获取单元201,被配置为执行获取映射配置信息,所述映射配置信息用于指示对象之间的映射关系;
91.生成单元202,被配置为执行根据所述映射配置信息,生成映射表,所述映射表中包括多个键值对,每个键值对包括一个关键字及所述关键字对应的值,所述关键字及所述值分别表示具有映射关系的不同的对象;
92.查询单元203,被配置为执行响应于接收到的针对目标对象的加载指令,在所述映射表中查询所述目标对象的目标关键字对应的目标值;
93.加载单元204,被配置为执行加载所述目标对象及所述目标值对应的对象。
94.一种实现方式中,所述查询单元203,具体被配置为执行:
95.响应于接收到的针对目标对象的加载指令,将所述目标对象的目标关键字作为预设函数的输入值;
96.利用所述预设函数,基于所述输入值在所述映射表中进行查询,输出所述目标关键字对应的目标值。
97.一种实现方式中,所述预设函数为基于条件执行语句的函数,所述查询单元203,具体被配置为执行:
98.利用所述基于条件执行语句的函数,查询所述映射表中与所述基于条件执行语句的函数的输入值相匹配的关键字,将查询到的关键字对应的值作为所述目标关键字对应的目标值。
99.一种实现方式中,所述基于条件执行语句的函数基于常数值进行查询;
100.所述查询单元203,具体被配置为执行:
101.利用预设算法,对所述映射表进行遍历,将所述键值对中的关键字转换为常数值,得到查询表,所述查询表中包括每个键值对对应的节点,每个节点包括所对应的键值对的关键字转换得到的常数值及所对应的键值对的值;
102.利用所述预设算法,将所述基于条件执行语句的函数的输入值转换为输入常数;
103.利用所述基于条件执行语句的函数,查询所述查询表中与所述输入常数相匹配的常数值,将查询到的常数值对应的值作为所述目标关键字对应的目标值。
104.一种实现方式中,所述预设算法包括哈希算法或安全散列算法。
105.一种实现方式中,所述关键字与预设类唯一对应,所述关键字对应的值表示与所述关键字对应的预设类具有映射关系的类,所述目标对象为目标类;
106.所述加载单元204,具体被配置为执行加载所述目标类及与所述目标类具有映射关系的类。
107.一种实现方式中,所述根据所述生成单元201,具体被配置为执行:
108.读取所述映射配置信息,分别将每个对象的标识信息作为关键字,将与所述对象
具有映射关系的对象的标识信息作为所述关键字对应的值,得到每个对象对应的键值对,作为映射表。
109.由以上可见,本公开的实施例提供的技术方案,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对移动端应用的内存的大量占用,进而提高移动端应用的运行速度。
110.图4是根据一示例性实施例示出的一种用于对象加载的电子设备的框图。
111.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光对象加载设备等。
112.在示例性实施例中,还提供一种计算机程序产品,当其在计算机上运行时,使得计算机实现上述对象加载的方法。
113.由以上可见,本公开的实施例提供的技术方案,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对移动端应用的内存的大量占用,进而提高移动端应用的运行速度。
114.图5是根据一示例性实施例示出的一种用于对象加载的装置800的框图。
115.例如,装置800可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
116.参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
117.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
118.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程直读存储器(eeprom),可擦除可编程直读存储器(eprom),可编程直读存储器(prom),直读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
119.电源组件807为装置800的各种组件提供电力。电源组件807可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
120.多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作
的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
121.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
122.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
123.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
124.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
125.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行第一方面和第二方面所述的方法。
126.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性非临时性计算机可读存储介质计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光对象加载设备等。
127.在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中第一所述的对象加载方法。
128.由以上可见,本公开的实施例提供的技术方案,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对
移动端应用的内存的大量占用,进而提高移动端应用的运行速度。
129.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
130.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:


1.一种对象加载方法,其特征在于,包括:获取映射配置信息,所述映射配置信息用于指示对象之间的映射关系;根据所述映射配置信息,生成映射表,所述映射表中包括多个键值对,每个键值对包括一个关键字及所述关键字对应的值,所述关键字及所述值分别表示具有映射关系的不同对象;响应于接收到的针对目标对象的加载指令,在所述映射表中查询所述目标对象的目标关键字对应的目标值;加载所述目标对象及所述目标值对应的对象。2.根据权利要求1所述的对象加载方法,其特征在于,所述响应于接收到的针对目标对象的加载指令,在所述映射表中查询所述目标对象的目标关键字对应的目标值,包括:响应于接收到的针对目标对象的加载指令,将所述目标对象的目标关键字作为预设函数的输入值;利用所述预设函数,基于所述输入值在所述映射表中进行查询,输出所述目标关键字对应的目标值。3.根据权利要求2所述的对象加载方法,其特征在于,所述预设函数为基于条件执行语句的函数,所述利用所述预设函数,在所述映射表中进行查询,输出所述目标关键字对应的目标值,包括:利用所述基于条件执行语句的函数,查询所述映射表中与所述基于条件执行语句的函数的输入值相匹配的关键字,将查询到的关键字对应的值作为所述目标关键字对应的目标值。4.根据权利要求3所述的对象加载方法,其特征在于,所述基于条件执行语句的函数基于常数值进行查询;在所述根据所述映射配置信息,生成映射表之后,还包括:利用预设算法,对所述映射表进行遍历,将所述键值对中的关键字转换为常数值,得到查询表,所述查询表中包括每个键值对对应的节点,每个节点包括所对应的键值对的关键字转换得到的常数值及所对应的键值对的值;所述利用所述基于条件执行语句的函数,查询所述映射表中与所述基于条件执行语句的函数的输入值相匹配的关键字,将查询到的关键字对应的值作为所述目标关键字对应的目标值,包括:利用所述预设算法,将所述基于条件执行语句的函数的输入值转换为输入常数;利用所述基于条件执行语句的函数,查询所述查询表中与所述输入常数相匹配的常数值,将查询到的常数值对应的值作为所述目标关键字对应的目标值。5.根据权利要求4所述的对象加载方法,其特征在于,所述预设算法包括哈希算法或安全散列算法。6.根据权利要求1所述的对象加载方法,其特征在于,所述关键字与预设类唯一对应,所述关键字对应的值表示与所述关键字对应的预设类具有映射关系的类,所述目标对象为目标类;所述加载所述目标对象及所述目标值对应的对象,包括:加载所述目标类及与所述目标类具有映射关系的类。
7.一种对象加载装置,其特征在于,包括:获取单元,被配置为执行获取映射配置信息,所述映射配置信息用于指示对象之间的映射关系;生成单元,被配置为执行根据所述映射配置信息,生成映射表,所述映射表中包括多个键值对,每个键值对包括一个关键字及所述关键字对应的值,所述关键字及所述值分别表示具有映射关系的不同的对象;查询单元,被配置为执行响应于接收到的针对目标对象的加载指令,在所述映射表中查询所述目标对象的目标关键字对应的目标值;加载单元,被配置为执行加载所述目标对象及所述目标值对应的对象。8.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的对象加载方法。9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由对象加载电子设备的处理器执行时,使得对象加载电子设备能够执行如权利要求1至6中任一项所述的对象加载方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的对象加载方法。

技术总结


本公开关于一种对象加载方法、装置、电子设备及存储介质,包括:获取映射配置信息,映射配置信息用于指示对象之间的映射关系;根据映射配置信息,生成映射表,映射表中包括多个键值对,每个键值对包括一个关键字及关键字对应的值,关键字及值分别表示具有映射关系的不同的对象;响应于接收到的针对目标对象的加载指令,在映射表中查询目标对象的目标关键字对应的目标值;加载目标对象及目标值对应的对象。这样,根据生成的映射表,在接收到加载指令之后,根据目标对象的关键字对应的值,确定与该对象具有映射关系的对象,然后对该对象及这些具有映射关系的对象进行加载,而不需要加载集合中的全部对象,从而减少对移动端应用的内存的大量占用,提高运行速度。提高运行速度。提高运行速度。


技术研发人员:

蔡雪建

受保护的技术使用者:

北京达佳互联信息技术有限公司

技术研发日:

2022.08.29

技术公布日:

2022/12/16

本文发布于:2024-09-23 04:30:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/36333.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   对象   关键字   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议