CN110020308A - cell组件加载的方法及装置 - Google Patents
cell组件加载的方法及装置 Download PDFInfo
- Publication number
- CN110020308A CN110020308A CN201711248358.6A CN201711248358A CN110020308A CN 110020308 A CN110020308 A CN 110020308A CN 201711248358 A CN201711248358 A CN 201711248358A CN 110020308 A CN110020308 A CN 110020308A
- Authority
- CN
- China
- Prior art keywords
- cell component
- cell
- component
- template
- page presentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种cell组件加载的方法及装置,涉及计算机技术领域,主要目的在于将list组件中结构相同cell组件进行模板的复用,避免相同结构的cell组件进行多次结构计算,降低计算cell组件结构布局所需要的内存和CPU的开销,保证list组件加载的流畅性。主要技术方案包括:查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;若存在,则将结构相同的cell组件确定为同一个cell组件模板的cell组件;在进行list组件加载时,将结构相同的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件。本发明主要用于客户端应用list组件展示的过程中。
Description
技术领域
本发明涉及页面技术领域,特别是涉及一种cell组件加载的方法及装置。
背景技术
客户端开发native应用时,经常会用到list组件和cell组件,list组件下布局cell组件,cell组件下布局页面;其中,每个cell组件布局独立,每个cell组件可以根据业务需要填充子组件。目前,在进行list组件加载时,由于其下布局的每个cell组件布局独立,需要对每个cell组件进行布局计算,确定每个cell组件对应的功能和效果,之后进行cell组件对应数据内容的加载,实现list布局中的页面效果。
在执行所述cell组件加载的过程中,发明人发现现有技术中至少存在如下技术问题:由于在list组件加载的过程中,每个cell组件布局独立,每个cell组件的布局均需要独立的进行计算,当list组件下的cell组件逐渐增多时,计算每个cell组件的布局所需要的内存和CPU的开销就会越来越大,若cell组件的数量过多,则会由于内存和CPU的开销过大,造成list组件加载卡顿的现象。
发明内容
有鉴于此,本发明提供的一种cell组件加载的方法及装置,主要目的在于将布局结构相同的cell组件进行模板的复用,避免多次进行cell组件布局结构的计算,降低了计算cell组件布局结构所需要的内存和CPU的开销,保证了list组件加载的流畅性。
为了解决上述问题,本发明主要提供如下技术方案:
第一方面,本发明提供了一种cell组件加载的方法,包括:
查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
若存在结构相同的cell组件,则将结构相同的cell组件确定为复用同一个cell组件模板;
在进行list组件加载时,将结构相同的cell组件对应的数据添分别加到所述cell组件模板中,形成对应的cell组件。
第二方面,本发明还提供了一种cell组件加载的装置,包括:
查询单元,用于查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
第一确定单元,用于当存在结构相同的cell组件时,将结构相同的cell组件确定为复用同一cell组件模板的cell组;
加载单元,用于在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件。
第三方面,本发明还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上所述的cell组件加载的方法。
第四方面,本发明还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行如上所述的cell组件加载的方法。
第五方面,本发明还提供了一种终端设备,包括至少一个处理器;所述存储介质,用于存储所述处理器执行的程序,以及所述处理器执行所述程序过程中所需的数据;
所述处理器,用于运行程序,其中,所述程序运行时执行如上所述的cell组件加载的方法。
本发明提供的一种cell组件加载的方法及装置,在将list组件布局下cell组件对应的数据进行加载之前,先对list组件布局下cell组件包含的至少两个cell组件的结构进行查询,将结构相同的cell组件筛选出来,确定为可以复用同一cell组件模板的cell组件;在对list组件布局下的cell组件进行加载时,直接将结构相同的cell组件对应数据分别加载到对应的cell组件模板中,即可实现cell组件的加载,避免了对list组件布局下的每个cell组件进行布局结构的计算确定对应cell组件的结构,较大的降低了计算cell组件结构所占用的内存和CPU资源,使得list组件布局下cell组件的数据加载在一定程度上不受内存和CPU资源的限制,加快了cell组件数据的加载,保证了list组件页面加载的流畅性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种cell组件加载的方法流程图;
图2示出了本发明实施例提供的一种cell组件加载的结构示意图;
图3示出了本发明实施例提供的另一种cell组件加载的方法流程图;
图4示出了本发明实施例提供的一种cell组件加载的装置组成框图;
图5示出了本发明实施例提供的另一种cell组件加载的装置组成框图;
图6示出了本发明实施例提供的另一种cell组件加载的装置组成框图;
图7示出了本发明实施例提供的另一种cell组件加载的装置组成框图;
图8示出了本发明实施例提供的另一种cell组件加载的装置组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
在客户端应用开发的过程中,list组件布局下包含cell组件,该cell组件可以为多个,而每个cell组件下可以根据业务需要填充更多的子组件。该子组件用于进行页面展示时承接数据内容,该子组件的数量以及各子组件包含关系构成cell组件的结构。其中,该组件的包含关系例如可以为,一个cell组件包括5个子cell组件,分别为子cell1、子cell2、子cell3、子cell4、子cell5,子cell1包含子cell3,子cell2包含子cell5,cell1、子cell2、子cell5并列设置,以上子cell的设置即为子cell的包含关系。一个cell组件中包含5个子cell,5个子cell具有上述的包含关系,这便构成了一个cell组件的结构。若每个cell组件下填充的子组件的数量以及子组件的包含关系完全一样,即每个cell组件的结构完全一样,那么在list组件加载时,可以将具有相同结构的cell组件进行同一模板的复用,避免相同结构的cell组件占用内存和CPU资源进行结构布局的计算。为达到以上目的,本发明实施提供一种cell组件加载的方法,如图1所示,该方法包括:
101、查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。
在客户端进行APP开发的过程中,业务层代码一般定义客户端人机交互的功能操作、cell组件(如:行组件)展示的样式和结构,并将人机交互的功能操作、cell组件展示的样式及结构组成一个cell组件模板,基于该cell组件模板进行对应cell组件数据的填充,形成一个cell组件,进而实现cell组件的加载。
在进行list组件加载的过程中,需要对其布局下的cell组件的结构布局进行计算,但是若将相同结构的每一个cell组件都进行结构布局的计算,使得相同内容重复计算,造成了内存资源和CPU资源的浪费,故本发明实施例中,在将cell组件数据加载到对应的cell组件之前,先分析list组件布局下的cell组件是否存在结构相同的cell组件,若存在,则对该类型的cell组件进行计算的优化。该计算的优化,按照以下方法执行。
102、若存在结构相同的cell组件,则将结构相同的cell组件确定为复用同一cell组件模板的cell组件。
具体的,可以参考图2对应的举例,例如:经过分析确定list组件布局下的4个cell组件中有三个cell组件cell 2、cell 3、cell 4的结构是相同的,将cell 2、cell 3、cell 4确定为可以复用同一cell组件模板的cell组件,如图2所示,该复用的同一模板为cell组件模板2;cell 1的结构和cell 2、cell3、cell 4不同,将cell 1对应的模板确定为cell组件模板1。
103、在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件。
其中,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件具体为:由于cell 2、cell 3、cell 4的结构相同,该三个cell组件共用同一个cell组件模板2,将cell 2、cell 3、cell 4各自的数据date2、date3、date4分别添加到该cell组件模板2中,形成各自对应的cell 2、cell 3、cell 4组件。在将list组件布局下cell组件对应的数据进行加载之前,先对list组件布局下cell组件包含的至少两个cell组件的结构进行查询,将结构相同的cell组件筛选出来,将其确定为可以复用同一cell组件模板的cell组件;在对list组件布局下的cell组件进行加载时,直接将结构相同的cell组件对应数据加载到对应的cell组件模板中,即可实现cell组件的加载,避免了对list组件布局下的每个cell组件进行布局结构的计算确定对应cell组件的结构,较大的降低了计算cell组件结构所占用的内存和CPU资源,使得list组件布局下cell组件的数据加载在一定程度上不受内存和CPU资源的限制,加快了cell组件数据的加载,保证了list组件页面加载的流畅性
本发明实施例中,在将list组件布局下cell组件对应的数据进行加载之前,先对list组件布局下cell组件包含的至少两个cell组件的结构进行查询,将结构相同的cell组件筛选出来,确定为可以复用同一cell组件模板的cell组件;在对list组件布局下的cell组件进行加载时,直接将结构相同的cell组件对应数据分别加载到对应的cell组件模板中,即可实现cell组件的加载,避免了对list组件布局下的每个cell组件进行布局结构的计算确定对应cell组件的结构,较大的降低了计算cell组件结构所占用的内存和CPU资源,使得list组件布局下cell组件的数据加载在一定程度上不受内存和CPU资源的限制,加快了cell组件数据的加载,保证了list组件页面加载的流畅性。
进一步的,在执行图1对应实施例时,查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件,可以采用但不局限于以下的方法实现,第一种方法为:对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;第二种方法为:根据list组件布局下的至少两个cell组件上添加的cell组件模板的标识,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。
其中,当对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件时,可以采用但不局限于以下的方法实现,该方法包括:
a1、获取list组件布局下的至少两个cell组件。
其中,获取该至少两个cell组件,即从客户端应用开发的list组件中逐一提取所述至少两个cell组件。
a2、对所述至少两个cell组件进行解析,得到所述至少两个cell组件各自对应的结构,所述结构包括子组件的数量以及子组件之间的包含关系。
如上所述,每个cell组件包括进行页面展示时用于承接数据内容的子组件,该子组件的数量以及各子组件包含关系构成cell组件的结构。故,在从list组件中将其包含的每个cell组件提取之后,对每个cell组件的进行分析,便可以得到cell组件各自对应的结构。
a3、将所述至少两个cell组件各自包括的子组件的数量以及子组件之间的包含关系进行比对,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。
a4、将子组件的数量相同,并且子组件之间的包含关系相同的cell组件确定为结构相同的cell组件。
更进一步的,为了进一步的节省对cell组件的结构计算所占用的内存和CPU资源,本发明实施例在查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件时,可以通过在定义组件时,就标注该cell组件是否与其他的cell组件使用的是相同的展示结构。具体的,本发明实施例中需要预先根据不同的cell结构设置对应的cell组件模板;并在结构相同的cell组件上添加同一cell组件模板的标识;其中,所述cell组件模板的标识用于标识结构相同的cell组件。在设置时,该cell组件模板的标识可以为一个ID号,该ID号可以为一个字符串,例如template=’template_1001’那么相同模板的cell都会使用这个id。如果再有新的模板会生成template=’template_1002’。
另外,将cell组件模板的标识添加在cell组件上时,可以根据具体设置在cell组件的任一位置,具体的本发明实施例对此不进行限制。
基于上述描述,在进行cell组件的结构解析的时候,只需要查看对应的cell组件是否有相同的展示结构的标注就可以,不用再针对不同的cell组件的结构进行逐一的解析,在很大程度上节省了内存和CPU资源。
基于该设计,根据list组件布局下至少两个cell组件上添加的cell组件模板的标识,确定list组件布局下cell组件的至少两个cell组件中是否存在结构相同的cell组件的方法包括:
b1、获取list组件布局下的至少两个cell组件。
其中,获取list组件布局下的至少两个cell组件可以参考第一种方式中a1中的相关描述,具体的本发明实施例此处将不再赘述。
b2、查询所述至少两个cell组件上是否存在cell组件模板的标识。若存在所述cell组件模板的标识,则执行b3,若不存在所述cell组件模板的标识,则执行b4。
b3、将cell组件模板的标识相同的cell组件确定为结构相同的cell组件。
b4、对所述至少两个cell组件的结构进行分析,确定所述至少两个cell组件各自对应的cell组件模板,并将所述cell组件模板的标识添加在对应的cell组件上。
本发明实施中,在定义cell组件时,就在cell组件中标注该cell组件是否与其他的组件使用的是相同的展示结构。这样在进行cell组件的结构解析的时候,只需要查看对应的cell组件是否有相同的模板标识就可以,不用再针对不同的cell组件的结构进行逐一的解析,在很大程度上节省了内存和CPU资源。
进一步的,若所述list组件布局下的至少两个cell组件均为结构相同的cell组件,在进行list组件加载时,本发明实施例还提供如下方法,该方法如3所示,该方法包括
201、检测所述list组件布局下的cell组件是否可以全部加载在终端设备的页面展示界面中;若不能全部加载在终端设备的页面展示界面中,则执行202;若能全部加载在终端设备的页面展示界面中,则执行204。
202、根据所述页面展示界面的大小确定展示在所述页面展示界面中的预定数量的cell组件,并将所述预定数量的cell组件的数据分别添加到所述cell组件模板中,形成对应的cell组件。并执行203。
203、检测是否接收到页面展示滚动的操作指示;若接收到所述操作指示,则执行204;若没有接收到所述操作指示,则继续执行203。
204、根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件。
其中,本发明实施例中,根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件,可以采用但不局限于以下的方法实现,该方法包括:
1、根据所述页面展示界面滚动的幅度确定cell组件的位移。
该处需要说明的是,一个cell组件的展示空间是一定的,根据展示页面滚动的幅度可以计算出cell组件变更的数量,即基于展示页面滚动的幅度,其是向上滚动了几个cell组件的位移,还是向下滚动了几个cell组件的位移。
2、根据所述cell组件的位移确定滚动后待展示在所述页面展示界面中的cell组件和滚动出所述页面展示界面的cell组件。
该处需要说明的是,一个list组件布局下的至少两个cell组件的前后顺序是一定的,故在确定了cell组件的位移之后,是可以根据位移确定出滚动后待展示在所述页面展示界面中的cell组件和滚动出所述页面展示界面的cell组件。
3、将滚动出所述页面展示界面的cell组件隐藏或移除,以及将待展示在所述页面展示界面中的cell组件的数据,逐一添加到所述cell组件模板中。
本发明实施例中,若待展示的cell组件和已展示在所述页面展示界面中的cell组件为结构相同的cell组件,在加载待展示的cell组件时,可以直接将滚动出所述页面展示界面的cell组件隐藏或移除,将待展示在所述页面展示界面中的cell组件的数据逐一添加到所述cell组件模板中,实现对应cell组件的加载,与现有技术中将list组件下所有的cell组件一起加载相比,在一定程度上节省了加载展示的时间,提升了cell组件加载的效率。
基于上述的方法实施例的具体描述,以下将以具体事例具体阐述list组件布局下cell组件的页面展示,具体的包括:
使用JavaScript语言,编写代码,比如下面的代码:
<list>
<cell>
<label text=“元素1”></label><img src=“1.jpg”/>
</cell>
<cell>
<label text=“元素2”></label><img src=“2.jpg”/>
</cell>
<cell>
<label text=“元素3”></label><img src=“3.jpg”/>
</cell>
…
</list>
在app中,对于长页面来说,页面的结构是list组件内部嵌入多个cell组件;比如一个内容很长的list组件下布局有20个cell组件,每个cell组件里面的子组件数量、位置完全相同,即结构完全相同,但加载的数据可以不同,比如上面代码中2个cell组件下的文本和图片不同,假设手机屏幕每次最多只能显示5个cell组件,那么用户浏览前5个cell内容时,这5个cell组件需要占用一定的内存空间,当用户向上滑动页面准备浏览第6、7个cell组件的内容时,因为屏幕高度是固定的,所以第1、2个cell组件会离开屏幕显示区域,此时屏幕中还是只显示5个cell组件。因为页面中全部的20个cell组件内部的结构完全相同,只是数据不一样,所以app可以直接通过cell组件模板修改对应位置的cell组件的数据,不需要占用新的内存空间来处理新出现的cell组件。
其中,app可以通过cell组件模板直接修改对应位置cell组件的数据,具体可以采用但不局限于以下的方法:比如可以将第一个cell组件的数据改成第二个cell组件的数据,第二个cell组件的数据改成第三个cell组件的数据,第三个cell组件的数据改成第四个cell组件的数据,…屏幕最底部显示的cell组件的数据改成第六个cell组件的数据,那么给用户的感觉就是屏幕向上滑动了一格,这个过程因为有cell模板的复用,节省了不必要的内存占用,提高了性能,用户滑动页面的过程会比较流畅。
基于上述方法实施例,本发明实施例供一种cell组件加载的装置,如图4所示,该装置包括:
查询单元31,用于查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;其中,在客户端进行APP开发的过程中,业务层代码一般定义客户端人机交互的功能操作、cell组件展示的样式和结构,而将人机交互的功能操作、cell组件展示的样式及结构组成一个cell组件模板,基于该cell组件模板进行对应cell组件数据的填充,形成一个cell组件,进而实现cell组件的加载。
在进行list组件加载的过程中,需要对其布局下的cell组件的结构布局进行计算,但是若将相同结构的每一个cell组件都进行结构布局的计算,使得相同内容重复计算,造成了内存资源和CPU资源的浪费,故本发明实施例中,在将cell组件数据加载到对应的cell组件之前,先分析list组件布局下的cell组件是否存在结构相同的cell组件,若存在,则对该类型的cell组件进行计算的优化。
第一确定单元32,用于当存在结构相同的cell组件时,将结构相同的cell组件确定为复用同一cell组件模板的cell组。
加载单元33,用于在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件。
进一步的,如图5所示,所述查询单元31包括:
第一查询模块311,用于对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;其中,所述第一查询模块311用于:获取list组件布局下的至少两个cell组件;对所述至少两个cell组件进行解析,得到所述至少两个cell组件各自对应的结构,所述结构包括子组件的数量以及子组件之间的包含关系;将所述至少两个cell组件各自包括的子组件的数量以及子组件之间的包含关系进行比对;将子组件的数量相同,并且子组件之间的包含关系相同cell组件确定为结构相同的cell组件。
和/或,
第二查询模块312,用于根据list组件布局下的至少两个cell组件上添加的cell组件模板的标识,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。其中,所述第二查询模块312,用于:获取list组件布局下的至少两个cell组件;查询所述至少两个cell组件上是否存在cell组件模板的标识;若存在所述cell组件模板的标识,则将cell组件模板的标识相同的cell组件确定为结构相同的cell组件。
进一步的,如图6所示,该装置还包括:
分析单元34,用于在确定不存在所述cell组件模板的标识时,对所述至少两个cell组件的结构进行分析,确定所述至少两个cell组件各自对应的cell组件模板;所述结构包括子组件的数量以及子组件之间的包含关系。
添加单元35,用于将所述cell组件模板的标识添加在对应的cell组件上。
进一步的,如图7所示,该装置还包括:
设置单元36,用于根据不同的cell结构设置对应的cell组件模板。
所述添加单元35,还用于在结构相同的cell组件上添加同一cell组件模板的标识。其中,所述cell组件模板的标识用于标识结构相同的cell组件。在设置时,该cell组件模板的标识可以为一个ID号,该ID号可以为一个字符串,例如template=’template_1001’那么相同模板的cell都会使用这个id。如果再有新的模板会生成template=’template_1002’。将cell组件模板的标识添加在cell组件上时,可以根据具体设置在cell组件的任一位置,具体的本发明实施例对此不进行限制。
进一步的,如图8所示,该加载单元33还包括:
第一检测模块331,用于在所述list组件布局下的至少两个cell组件均为结构相同的cell组件时,检测所述list组件布局下的cell组件是否可以全部加载在终端设备的页面展示界面中。
计算模块332,用于当不能全部显示在终端设备的页面展示界面中时,根据所述页面展示界面的大小确定展示在所述页面展示界面中的预定数量的cell组件。
加载模块333,用于将所述预定数量的cell组件的数据分别添加到所述cell组件模板中,形成对应的cell组件。
进一步的,如图8所示,加载单元还包括:
第二检测模块334,用于当不能全部显示在终端设备的页面展示界面中时,检测是否接收到页面展示滚动的操作指示。
所述加载模块333,还用于根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件。其中,所述加载模块333根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件具体用于:根据所述页面展示界面滚动的幅度确定cell组件的位移;根据所述cell组件的位移确定滚动后待展示在所述页面展示界面中的cell组件和滚动出所述页面展示界面的cell组件;将滚动出所述页面展示界面的cell组件隐藏或移除,以及将待展示在所述页面展示界面中的cell组件的数据,逐一添加到所述cell组件模板中,形成对应的cell组件。
本发明实施例还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上所述的cell组件加载的方法。
本发明实施例还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行如上所述的cell组件加载的方法。
本法发明实施例还提供一种终端设备,包括至少一个处理器;所述存储介质,用于存储所述处理器执行的程序,以及所述处理器执行所述程序过程中所需的数据;
所述处理器,用于运行程序,其中,所述程序运行时执行如上所述的cell组件加载的方法。
本发明实施例中,在将list组件布局下cell组件对应的数据进行加载之前,先对list组件布局下cell组件包含的至少两个cell组件的结构进行查询,将结构相同的cell组件筛选出来,确定为可以复用同一cell组件模板的cell组件;在对list组件布局下的cell组件进行加载时,直接将结构相同的cell组件对应分别数据加载到对应的cell组件模板中,即可实现cell组件的加载,避免了对list组件布局下的每个cell组件进行布局结构的计算确定对应cell组件的结构,较大的降低了计算cell组件结构所占用的内存和CPU资源,使得list组件布局下cell组件的数据加载在一定程度上不受内存和CPU资源的限制,加快了cell组件数据的加载,保证了list组件页面加载的流畅性。
并且,本发明实施例中,在定义cell组件时,就在cell组件中标注该cell组件是否与其他的组件使用的是相同的展示结构。这样在进行cell组件的结构解析的时候,只需要查看对应的cell组件是否有相同的模板标识就可以,不用再针对不同的cell组件的内部布局进行逐一的解析,在很大程度上节省了内存和CPU资源。
进一步的,本发明实施例中,在进行list组件的展示时,若待展示的cell组件和已展示在所述页面展示界面中的cell组件为结构相同的cell组件,在加载待展示的cell组件时,可以直接将滚动出所述页面展示界面的cell组件隐藏或移除,将待展示在所述页面展示界面中的cell组件的数据逐一添加到所述cell组件模板中,实现对应cell组件的加载,与现有技术中将list组件下所有的cell组件一起加载相比,在一定程度上节省了加载展示的时间,提升了cell组件加载的效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (21)
1.一种cell组件加载的方法,其特征在于,包括:
查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
若存在结构相同的cell组件,则将结构相同的cell组件确定为复用同一cell组件模板的cell组件;
在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件。
2.根据权利要求1所述的方法,其特征在于,查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件包括:
对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
或者,
根据list组件布局下的至少两个cell组件上添加的cell组件模板的标识,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。
3.根据权利要求2所述的方法,其特征在于,对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件包括:
获取list组件布局下的至少两个cell组件;
对所述至少两个cell组件进行解析,得到所述至少两个cell组件各自对应的结构,所述结构包括子组件的数量以及子组件之间的包含关系;
将所述至少两个cell组件各自包括的子组件的数量以及子组件之间的包含关系进行比对;
将子组件的数量相同,并且子组件之间的包含关系相同的cell组件确定为结构相同的cell组件。
4.根据权利要求2所述的方法,其特征在于,根据list组件布局下的至少两个cell组件上添加的cell组件模板标识,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件包括:
获取list组件布局下的至少两个cell组件;
查询所述至少两个cell组件上是否存在cell组件模板的标识;
若存在所述cell组件模板的标识,则将cell组件模板的标识相同的cell组件确定为结构相同的cell组件。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
若不存在所述cell组件模板的标识,则对所述至少两个cell组件的结构进行分析,确定所述至少两个cell组件各自对应的cell组件模板,其中,cell组件的结构包括子组件的数量以及子组件之间的包含关系;
将所述cell组件模板的标识添加在对应的cell组件上。
6.根据权利要求4所述的方法,其特征在于,该方法还包括:
根据不同的cell结构设置对应的cell组件模板;
在结构相同的cell组件上添加同一cell组件模板的标识。
7.根据权利要求1-6中任一项所述的方法,其特征在于,若所述list组件布局下的至少两个cell组件均为结构相同的cell组件,在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件包括:
检测所述list组件布局下的cell组件是否可以全部加载在终端设备的页面展示界面中;
若不能全部加载在终端设备的页面展示界面中,则根据所述页面展示界面的大小确定展示在所述页面展示界面中的预定数量的cell组件,并将所述预定数量的cell组件的数据分别添加到所述cell组件模板中,形成对应的cell组件。
8.根据权利要求7所述的方法,其特征在于,该方法还包括:
检测是否接收到页面展示滚动的操作指示;
若接收到所述页面展示滚动的操作指示,则根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件。
9.根据权利要求8所述的方法,其特征在于,根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件包括:
根据所述页面展示界面滚动的幅度确定cell组件的位移;
根据所述cell组件的位移确定滚动后待展示在所述页面展示界面中的cell组件和滚动出所述页面展示界面的cell组件;
将滚动出所述页面展示界面的cell组件隐藏或移除,以及将待展示在所述页面展示界面中的cell组件的数据,逐一添加到所述cell组件模板中,形成对应的cell组件。
10.一种cell组件加载的装置,其特征在于,包括:
查询单元,用于查询list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
第一确定单元,用于当存在结构相同的cell组件时,将结构相同的cell组件确定为复用同一cell组件模板的cell组;
加载单元,用于在进行list组件加载时,将结构相同的cell组件对应的数据分别添加到所述cell组件模板中,形成对应的cell组件。
11.根据权利要求10所述的装置,其特征在于,所述查询单元包括:
第一查询模块,用于对list组件布局下的至少两个cell组件的结构分别进行解析,确定所述list组件布局下的至少两个cell组件中是否存在结构相同的cell组件;
和/或,
第二查询模块,用于根据list组件布局下的至少两个cell组件上添加的cell组件模板的标识,确定list组件布局下的至少两个cell组件中是否存在结构相同的cell组件。
12.根据权利要求11所述的装置,其特征在于,所述第一查询模块用于:
获取list组件布局下的至少两个cell组件;
对所述至少两个cell组件进行解析,得到所述至少两个cell组件各自对应的结构,所述结构包括子组件的数量以及子组件之间的包含关系;
将所述至少两个cell组件各自包括的子组件的数量以及子组件之间的包含关系进行比对;
将子组件的数量相同,并且子组件之间的包含关系相同的cell组件确定为结构相同的cell组件。
13.根据权利要求11所述的装置,其特征在于,所述第二查询模块用于:
获取list组件布局下的至少两个cell组件;
查询所述至少两个cell组件上是否存在cell组件模板的标识;
若存在所述cell组件模板的标识,则将cell组件模板的标识相同的cell组件确定为结构相同的cell组件。
14.根据权利要求13所述的装置,其特征在于,该装置还包括:
分析单元,用于在确定不存在所述cell组件模板的标识时,对所述至少两个cell组件的结构进行分析,确定所述至少两个cell组件各自对应的cell组件模板,其中,cell组件的结构包括子组件的数量以及子组件之间的包含关系;
添加单元,用于将所述cell组件模板的标识添加在对应的cell组件上。
15.根据权利要求14所述的装置,其特征在于,还包括:
设置单元,用于根据不同的cell结构设置对应的cell组件模板;
所述添加单元,还用于在结构相同的cell组件上添加同一cell组件模板的标识。
16.根据权利要求10-15中任一项所述的装置,其特征在于,所述加载单元包括:
第一检测模块,用于在所述list组件布局下的至少两个cell组件均为结构相同的cell组件时,检测所述list组件布局下的cell组件是否可以全部加载在终端设备的页面展示界面中;
计算模块,用于当不能全部显示在终端设备的页面展示界面中时,根据所述页面展示界面的大小确定展示在所述页面展示界面中的预定数量的cell组件;
加载模块,用于将所述预定数量的cell组件的数据分别添加到所述cell组件模板中,形成对应的cell组件。
17.根据权利要求16所述的装置,其特征在于,所述加载单元还包括:
第二检测模块,用于检测是否接收到页面展示滚动的操作指示;
所述加载模块,还用于在接收到页面展示滚动的操作指示时,根据页面展示界面滚动操作的幅度,将滚动后待展示在所述页面展示界面中的cell组件对应的数据添加到所述cell组件模板中,形成对应的cell组件。
18.根据权利要求17所述的装置,其特征在于,所述加载模块具体用于:
根据所述页面展示界面滚动的幅度确定cell组件的位移;
根据所述cell组件的位移确定滚动后待展示在所述页面展示界面中的cell组件和滚动出所述页面展示界面的cell组件;
将滚动出所述页面展示界面的cell组件隐藏或移除,以及将待展示在所述页面展示界面中的cell组件的数据,逐一添加到所述cell组件模板中,形成对应的cell组件。
19.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1-9中任一项所述的cell组件加载的方法。
20.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-9中任一项所述的cell组件加载的方法。
21.一种终端设备,其特征在于,包括至少一个处理器;所述存储介质,用于存储所述处理器执行的程序,以及所述处理器执行所述程序过程中所需的数据;
所述处理器,用于运行程序,其中,所述程序运行时执行权利要求1-9中任一项所述的cell组件加载的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248358.6A CN110020308A (zh) | 2017-12-01 | 2017-12-01 | cell组件加载的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248358.6A CN110020308A (zh) | 2017-12-01 | 2017-12-01 | cell组件加载的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110020308A true CN110020308A (zh) | 2019-07-16 |
Family
ID=67186857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711248358.6A Pending CN110020308A (zh) | 2017-12-01 | 2017-12-01 | cell组件加载的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020308A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240352A1 (en) * | 2004-04-23 | 2005-10-27 | Invitrogen Corporation | Online procurement of biologically related products/services using interactive context searching of biological information |
CN103955367A (zh) * | 2014-04-28 | 2014-07-30 | 华为技术有限公司 | 一种生成页面的方法及装置 |
CN104216909A (zh) * | 2013-06-04 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 网页数据处理方法及处理装置 |
CN106980508A (zh) * | 2017-04-01 | 2017-07-25 | 百度在线网络技术(北京)有限公司 | 用于生成页面的方法和装置 |
CN107153528A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 混合模型列表项重用的方法及设备 |
-
2017
- 2017-12-01 CN CN201711248358.6A patent/CN110020308A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240352A1 (en) * | 2004-04-23 | 2005-10-27 | Invitrogen Corporation | Online procurement of biologically related products/services using interactive context searching of biological information |
CN104216909A (zh) * | 2013-06-04 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 网页数据处理方法及处理装置 |
CN103955367A (zh) * | 2014-04-28 | 2014-07-30 | 华为技术有限公司 | 一种生成页面的方法及装置 |
CN107153528A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 混合模型列表项重用的方法及设备 |
CN106980508A (zh) * | 2017-04-01 | 2017-07-25 | 百度在线网络技术(北京)有限公司 | 用于生成页面的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9671950B2 (en) | Sample data computation for rendering of graph elements | |
Ohnsorge et al. | Sorting it out: International trade with heterogeneous workers | |
AU2006287357B2 (en) | Designating, setting and discovering parameters for spreadsheet documents | |
US8595750B2 (en) | Adaptive tree structure for visualizing data | |
US20190339820A1 (en) | Displaying a subset of menu items based on a prediction of the next user-actions | |
CN106294902A (zh) | 预测移动应用程序页面性能的方法、装置及电子设备 | |
US20190138188A1 (en) | Displaying dynamic graphical content in graphical user interface (gui) controls | |
CN103488569A (zh) | 电子设备性能的测试方法及装置 | |
CN109739762A (zh) | 一种应用程序的性能测试方法与装置 | |
CN102105862A (zh) | 实体交互的自动用户界面生成 | |
US8761519B2 (en) | System and method for selecting an object boundary in an image | |
CN105573595A (zh) | 信息展示方法及装置 | |
CN109683773A (zh) | 语料标注方法和装置 | |
CN109426415B (zh) | 一种生成级联选择器的方法及装置 | |
CN103235719A (zh) | 建立wap网站的方法和装置 | |
Poth et al. | Develop sustainable software with a lean ISO 14001 setup facilitated by the efiS® framework | |
US20100161674A1 (en) | Visually manipulating instance collections | |
Dameri | Urban tableau de bord: Measuring smart city performance | |
CN110020308A (zh) | cell组件加载的方法及装置 | |
CN111427760A (zh) | 页面测试方法、装置、设备及存储介质 | |
US20190130012A1 (en) | Flexible organizational hierarchy | |
CN110309208A (zh) | 数据可视化的实现方法及装置 | |
US11442949B2 (en) | Semantic search of application rules | |
CN114139504A (zh) | 一种基于画布的构建数据动态流动模型的方法及设备、介质 | |
CN106557313A (zh) | 一种在业务窗口展现业务对象方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |