一种视图复用的方法及装置制造方法及图纸

技术编号:18553116 阅读:23 留言:0更新日期:2018-07-28 10:27
本申请公开一种视图复用的方法及装置,该方法中客户端当监测到第一页面在终端屏幕中发生偏移时,通过为该第一页面的展示所提供的视图容器,确定出在终端屏幕中待显示视图的视图标识,客户端可根据该待显示视图的视图标识,从视图复用池中查找到与之相匹配的视图,并通过复用该视图的方式,使该视图显示在终端屏幕上。客户端可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,从而极大的提高了视图的复用率。

【技术实现步骤摘要】
一种视图复用的方法及装置
本申请涉及计算机
,尤其涉及一种视图复用的方法及装置。
技术介绍
当前,各服务平台相继推出了各自的应用(Application,App),用户可随时随地的通过这些App所展示的页面来完成各项业务的处理工作,为用户处理业务带来了全新的实现方式。在实际应用中,App在向用户进行页面展示的过程中,需要从服务器获取该页面中包含的各视图的视图信息、显示各视图的各组件标识等页面信息,App可根据获取到的页面信息,从预设的组件库中确定出渲染该页面中各视图的组件,并根据页面信息中包含的视图信息,在该页面中渲染出各个视图。受终端屏幕的尺寸限制,App在进行页面展示时,通常只对终端屏幕中当前展示的页面内容进行渲染,而所要展示页面的其他部分的页面内容则需要在由隐藏状态转化显示状态时,App才会对这部分页面内容进行渲染并展示。对于处于隐藏状态的视图来说,App会通过系统内置的视图容器以及视图复用池,来将这些处于隐藏状态的视图放置在视图复用池中(所谓处于隐藏状态的视图是指终端屏幕此前已经显示过而此时不在终端屏幕中进行显示的视图),而当需要再次显示这些视图时,则直接从视图复用池中复用该视图即可,无需从服务器再次获取这些视图所对应的页面信息,从而提高了页面的展示效率。在现有技术中,内置的视图容器通常是将页面中的各视图以及各视图对应的各组件进行绑定管理的,所以,App通过系统内置的视图容器将处于隐藏状态的视图放置在视图复用池中时,通常也都是将该视图与渲染该视图的组件紧密耦合放置在视图复用池中的,所以,App通过该视图容器在对视图复用池中的视图进行复用时,通常也需要将视图与组件一并进行复用,即无法将视图进行单独复用,所以,现有的视图复用方式无法满足App单独复用视图的需求,从而降低了视图的复用率。
技术实现思路
本申请实施例提供一种视图复用的方法及装置,用以解决现有技术中App的视图复用方式会降低视图复用率的问题。本申请实施例提供了一种视图复用的方法,包括:提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。本申请实施例提供一种视图复用的装置,用以解决现有技术中App的视图复用方式会降低视图复用率的问题。本申请实施例提供了一种视图复用的装置,包括:容器提供模块,提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;确定模块,当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;视图复用模块,根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:由于在本申请实施例中,客户端在进行页面展示的过程中,可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,在本申请实施例中,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,相对于现有技术而言,极大的提高了视图的复用率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的视图复用过程的示意图;图2为本申请实施例提供的客户端的页面展示示意图;图3为本申请实施例提供的确定各视图在第一页面中的位置的示意图;图4为本申请实施例提供的用户在终端屏幕上执行滑动操作后,第一页面发生偏移的示意图;图5为本申请实施例提供的视图复用的详细过程示意图;图6为本申请实施例提供的确定待显示视图以及隐藏视图的过程示意图;图7为本申请实施例提供的一种数据获取的装置示意图。具体实施方式为了实现本申请的目的,本申请实施例提供了一种视图复用的方法及装置,该方法中客户端当监测到第一页面在终端屏幕中发生偏移时,通过为该第一页面的展示所提供的视图容器,确定出在终端屏幕中待显示视图的视图标识,客户端可根据该待显示视图的视图标识,从视图复用池中查找到与之相匹配的视图,并通过复用该视图的方式,使该视图显示在终端屏幕上。客户端在进行页面展示的过程中,可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,在本申请实施例中,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,相对于现有技术而言,极大的提高了视图的复用率。在本申请实施例中,第一页面并不是单纯的指终端屏幕上所显示的一屏页面,终端屏幕上所显示的一屏页面通常只是第一页面中的一部分页面,所以,这里提到的第一页面是指在不跳转页面的前提下,用户通过在终端屏幕上进行滑动所能浏览到的一个整体页面。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1为本申请实施例提供的视图复用过程的示意图,具体包括以下步骤:S101:提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系。在实际应用中,若客户端向用户展示的页面不发生跳转,则客户端向用户展示的页面内容(页面内容是由各视图构成的)通常是不变的,换句话说,在页面不发生跳转的前提下,用户在终端屏幕上滑动页面时,终端屏幕上所显示的页面内容会发生变化,但是,隐藏在终端屏幕中的页面内容却不会发生变化,对于用户之前浏览过的页面内容来说,用户虽然能够通过滑动终端屏幕的方式将这部分页面内容隐藏在终端屏幕,并浏览其他的页面内容,但是当用户在终端屏幕上向回滑动页面时,这部分页面内容将会重新展示在终端屏幕中,即,用户在终端屏幕上向回滑动页面时,所看到的页面内容将与之前看到的页面内容相同。基于此,在现有技术中,客户端使用系统内置的视图容器来进行视图复用的管理,也是仅站在页面内容不会发生变化的角度上来实施的。由于用户先前所浏览的页面内容已经被系统内置的视图容器放置在视图复用池中,所以,当用户向回滑动页面以浏览客户端先前在终端屏幕中所显示的页面内容时,客户端可通过系统内置的视图容器从视图复用池中复用该页面内容中所包含的各视图及其组件,继而将先前已显示的页面内容进行再次显示。由于在现有技术中,客户端通过系统内置的视图容器来视图复用时,只能将视图及其对应的组件进行一并复用本文档来自技高网
...

【技术保护点】
1.一种视图复用的方法,其特征在于,包括:提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。

【技术特征摘要】
1.一种视图复用的方法,其特征在于,包括:提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。2.如权利要求1所述的方法,其特征在于,提供视图容器,具体包括:确定终端屏幕中第一页面所包含的各视图的视图标识、各视图所使用的组件的组件标识以及各视图在所述第一页面中的位置信息;根据所述视图标识、所述组件标识以及所述位置信息,创建所述视图容器。3.如权利要求2所述的方法,其特征在于,所述方法还包括:按照确定出的各位置信息中第一坐标的大小,对所述各视图的视图标识进行升序排列,得到第一视图标识队列;按照确定出的各位置信息中第二坐标的大小,对所述各视图的视图标识进行降序排列,得到第二视图标识队列;将所述第一视图标识队列以及所述第二视图标识队列保存在所述视图容器中。4.如权利要求1至3任一项所述的方法,其特征在于,当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中的待显示视图的视图标识,具体包括:当监测到所述第一页面在所述终端屏幕中发生偏移时,确定所述第一页面在所述终端屏幕中的偏移量;根据所述偏移量以及所述视图容器,确定所述终端屏幕中的待显示视图的视图标识。5.如权利要求4所述的方法,其特征在于,根据所述偏移量以及所述视图容器,确定在所述终端屏幕中的待显示视图的视图标识,具体包括:根据所述偏移量、所述终端屏幕显示区域的纵向长度以及所述视图容器包含的第一视图标识队列,确定第三视图标识队列;根据所述偏移量以及所述视图容器包含的第二视图标识队列,确定第四视图标识队列;根据所述第三视图标识队列以及所述第四视图标识队列,确定在所述终端屏幕中的待显示视图的视图标识。6.如权利要求5所述的方法,其特征在于,根据所述偏移量、所述终端屏幕显示区域的纵向长度以及所述视图容器包含的第一视图标识队列,确定第三视图标识队列,具体包括:确定在所述第一页面在终端屏幕中未发生偏移之前所述终端屏幕的顶端对应于所述第一页面的第三坐标;确定在所述第一页面在终端屏幕中发生偏移之后所述终端屏幕的顶端对应于所述第一页面的第四坐标;确定所述第四坐标以及所述终端屏幕显示区域的纵向长度的和值;在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识;根据所述第一视图标识队列中位于所述第一视图标识之前的各视图标识,得到第三视图标识队列。7.如权利要求6所述的方法,其特征在于,根据所述偏移量以及所述视图容器包含的第二视图标识队列,确定第四视图标号队列,具体包括:在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的第二视图标识;根据所述第二视图标识队列中位于所述第二视图标识之前的各视图标识,得到第四视图标识队列。8.如权利要求7所述的方法,其特征在于,在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识,具体包括:当在所述第一视图标识队列中存在至少一个视图标识对应的第一坐标与所述和值相匹配时,将所述至少一个视图标识中第一队列序号最小的视图标识确定为第一坐标与所述和值相匹配的第一视图标识;在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的视图标识,具体包括:当在所述第二视图标识队列中存在至少一个视图标识对应的第二坐标与所述第四坐标相匹配时,将所述至少一个视图标识中第二队列序号最小的视图标识确定为第二坐标与所述第四坐标相匹配的第二视图标识。9.如权利要求8所述的方法,其特征在于,在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识,具体包括:通过二分查找的方式,在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识;在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的第二视图标识,具体包括:通过二分查找的方法,在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的第二视图标识。10.如权利要求5所述的方法,其特征在于,根据所述第三视图标识队列以及所述第四视图标识队列,确定在所述终端屏幕中的待显示视图的视图标识,具体包括:确定所述第三视图标识队列与所述第四视图标识队列取交集,得到所述第三视图标识队列与所述第四视图标识队列的共有视图标识;根据在所述第一页面未发生所述偏移之前所述终端屏幕中显示的各视图的视图标识,以及所述共有视图标识,确定在所述终端屏幕中的待显示视图的视图标识。11.如权利要求10所述的方法,其特征在于,所述方法还包括:根据在所述第一页面未发生所述偏移之前所述终端屏幕中显示的各视图的视图标识以及所述共有视图标识,从在所述第一页面未发生所述偏移之前所述终端屏幕显示的各视图中,确定在所述第一页面发生所述偏移之后显示状态变化为隐藏状态的视图;将确定出的所述视图和/或所述视图对应的组件回收至所述视图复用池中。12.如权利要求1或11所述的方法,其特征在于,根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,具体包括:从视图复用池中查找是否存在所述待显示视图的视图标识对应的视图;若是,则从所述视图复用池中复用所述待显示视图并显示;若否,则根据所述待显示视图对应的组件标识,从服务器获取的所述待显示视图的视图信息,渲染所述待显示视图并显示。13.如权利要求12所述的方法,其特征在于,所述方法...

【专利技术属性】
技术研发人员:李彬高嘉峻吴瀚波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1