一种视图复用的方法及装置与流程

文档序号:15046835发布日期:2018-07-27 22:51阅读:124来源:国知局

本申请涉及计算机技术领域,尤其涉及一种视图复用的方法及装置。



背景技术:

当前,各服务平台相继推出了各自的应用(application,app),用户可随时随地的通过这些app所展示的页面来完成各项业务的处理工作,为用户处理业务带来了全新的实现方式。

在实际应用中,app在向用户进行页面展示的过程中,需要从服务器获取该页面中包含的各视图的视图信息、显示各视图的各组件标识等页面信息,app可根据获取到的页面信息,从预设的组件库中确定出渲染该页面中各视图的组件,并根据页面信息中包含的视图信息,在该页面中渲染出各个视图。

受终端屏幕的尺寸限制,app在进行页面展示时,通常只对终端屏幕中当前展示的页面内容进行渲染,而所要展示页面的其他部分的页面内容则需要在由隐藏状态转化显示状态时,app才会对这部分页面内容进行渲染并展示。

对于处于隐藏状态的视图来说,app会通过系统内置的视图容器以及视图复用池,来将这些处于隐藏状态的视图放置在视图复用池中(所谓处于隐藏状态的视图是指终端屏幕此前已经显示过而此时不在终端屏幕中进行显示的视图),而当需要再次显示这些视图时,则直接从视图复用池中复用该视图即可,无需从服务器再次获取这些视图所对应的页面信息,从而提高了页面的展示效率。

在现有技术中,内置的视图容器通常是将页面中的各视图以及各视图对应的各组件进行绑定管理的,所以,app通过系统内置的视图容器将处于隐藏状态的视图放置在视图复用池中时,通常也都是将该视图与渲染该视图的组件紧密耦合放置在视图复用池中的,所以,app通过该视图容器在对视图复用池中的视图进行复用时,通常也需要将视图与组件一并进行复用,即无法将视图进行单独复用,所以,现有的视图复用方式无法满足app单独复用视图的需求,从而降低了视图的复用率。



技术实现要素:

本申请实施例提供一种视图复用的方法及装置,用以解决现有技术中app的视图复用方式会降低视图复用率的问题。

本申请实施例提供了一种视图复用的方法,包括:

提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;

当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;

根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。

本申请实施例提供一种视图复用的装置,用以解决现有技术中app的视图复用方式会降低视图复用率的问题。

本申请实施例提供了一种视图复用的装置,包括:

容器提供模块,提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;

确定模块,当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;

视图复用模块,根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

由于在本申请实施例中,客户端在进行页面展示的过程中,可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,在本申请实施例中,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,相对于现有技术而言,极大的提高了视图的复用率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的视图复用过程的示意图;

图2为本申请实施例提供的客户端的页面展示示意图;

图3为本申请实施例提供的确定各视图在第一页面中的位置的示意图;

图4为本申请实施例提供的用户在终端屏幕上执行滑动操作后,第一页面发生偏移的示意图;

图5为本申请实施例提供的视图复用的详细过程示意图;

图6为本申请实施例提供的确定待显示视图以及隐藏视图的过程示意图;

图7为本申请实施例提供的一种数据获取的装置示意图。

具体实施方式

为了实现本申请的目的,本申请实施例提供了一种视图复用的方法及装置,该方法中客户端当监测到第一页面在终端屏幕中发生偏移时,通过为该第一页面的展示所提供的视图容器,确定出在终端屏幕中待显示视图的视图标识,客户端可根据该待显示视图的视图标识,从视图复用池中查找到与之相匹配的视图,并通过复用该视图的方式,使该视图显示在终端屏幕上。客户端在进行页面展示的过程中,可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,在本申请实施例中,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,相对于现有技术而言,极大的提高了视图的复用率。

在本申请实施例中,第一页面并不是单纯的指终端屏幕上所显示的一屏页面,终端屏幕上所显示的一屏页面通常只是第一页面中的一部分页面,所以,这里提到的第一页面是指在不跳转页面的前提下,用户通过在终端屏幕上进行滑动所能浏览到的一个整体页面。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1为本申请实施例提供的视图复用过程的示意图,具体包括以下步骤:

s101:提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系。

在实际应用中,若客户端向用户展示的页面不发生跳转,则客户端向用户展示的页面内容(页面内容是由各视图构成的)通常是不变的,换句话说,在页面不发生跳转的前提下,用户在终端屏幕上滑动页面时,终端屏幕上所显示的页面内容会发生变化,但是,隐藏在终端屏幕中的页面内容却不会发生变化,对于用户之前浏览过的页面内容来说,用户虽然能够通过滑动终端屏幕的方式将这部分页面内容隐藏在终端屏幕,并浏览其他的页面内容,但是当用户在终端屏幕上向回滑动页面时,这部分页面内容将会重新展示在终端屏幕中,即,用户在终端屏幕上向回滑动页面时,所看到的页面内容将与之前看到的页面内容相同。

基于此,在现有技术中,客户端使用系统内置的视图容器来进行视图复用的管理,也是仅站在页面内容不会发生变化的角度上来实施的。由于用户先前所浏览的页面内容已经被系统内置的视图容器放置在视图复用池中,所以,当用户向回滑动页面以浏览客户端先前在终端屏幕中所显示的页面内容时,客户端可通过系统内置的视图容器从视图复用池中复用该页面内容中所包含的各视图及其组件,继而将先前已显示的页面内容进行再次显示。

由于在现有技术中,客户端通过系统内置的视图容器来视图复用时,只能将视图及其对应的组件进行一并复用,所以,现有技术中的视图复用可以理解成页面的局部区域复用,如图2所示。

图2为本申请实施例提供的客户端的页面展示示意图。

在图2中,虚线区域是一个大的组件,在该组件中分别展示了6幅视图,用户在终端屏幕上向上滑动该页面时,这6幅视图将与该组件一并隐藏在终端屏幕的上端,此时,客户端将通过系统内置的视图容器,将这6幅视图及其该组件紧密耦合的放置在视图复用池中。而当用户在终端屏幕上向下滑动该页面时,先前隐藏在终端屏幕上端的这6幅视图及其组件也将重新显示在终端屏幕中,在此过程中,客户端将通过系统内置的视图容器,从视图复用池中,将这6幅视图及其组件一并进行复用,继而将这6幅视图重新显示在终端屏幕中。所以,以整个页面的角度来看,这6幅视图及其组件相当于占用了整个页面的一部分区域,因此,现有技术中,客户端通过系统内置的视图容器将这6幅视图及其组件进行一并复用相当于对页面的一部分进行了局部复用。

然而,在实际应用中,客户端常常会遇到需要对某一视图进行单独复用的情况。例如,假设客户端当前在终端屏幕中对视图a进行了展示,用户通过滑动终端屏幕使得视图a滑出了终端屏幕,此时,客户端将通过系统内置的视图容器,将该视图a及其组件紧密耦合的放置在视图复用池中,以待后续进行复用。而用户继续滑动终端屏幕的过程中,客户端监测到需要通过其他的组件再次在终端屏幕中来显示视图a,此时,客户端需要从视图复用池中对视图a进行复用。然而,由于在视图复用池中,视图a及其组件是紧密耦合在一起的,客户端若需要对视图a进行复用,则需要将视图a及其组件一并进行复用,但是,客户端此时在终端屏幕中显示视图a所使用的组件却与预设复用池中所保存的视图a对应的组件不同,所以,对于这种情况来说,客户端将无法对预设复用池中的视图a进行单独复用,从而降低了视图的复用率。

为了有效解决上述问题的发生,在本申请实施例中,客户端可为页面展示的过程中提供视图容器,该视图容器可以是客户端开发人员预先设置在客户端中的,该视图容器与系统内置的视图容器不同,系统内置的视图容器只允许客户端将视图及其组件一并进行复用,而在本申请实施例中,客户端所提供的视图容器可允许客户端在进行视图复用时,能够对视图进行单独复用,从而提高了客户端的视图复用率。

在现有技术中,视图的复用是相对于先前已显示的页面内容来进行的,这也就是为什么系统内置的视图容器需要将视图及其组件进行一并复用的原因。而在本申请实施例中,客户端的视图复用不仅仅是针对先前已显示的页面内容来进行的,对于待显示的页面内容(这里提到的待显示的页面内容并不包含先前已显示的页面内容)中包含有先前已显示的视图的情况来说也同样适用,所以,相对于现有技术来说,在申请实施例中,客户端根据用户在终端屏幕上的滑动操作来确定显示哪些视图、复用哪些视图、将哪些视图放置在视图复用池中的过程也相对较为复杂。

为了能够准确的根据用户在终端屏幕上的操作确定出具体复用哪幅视图,在本申请实施例中,客户端所提供的视图容器需要确定出整个页面中各视图的布局情况,进而根据确定出的各视图在整个页面中的实际布局,准确的根据用户在终端屏幕上所执行的操作,确定出具体复用哪幅视图。

具体的,当客户端根据用户的指定操作确定出需要向用户展示指定页面时,客户端可向服务器发送获取该指定页面的页面内容获取请求,服务器接收到该页面内容获取请求后,可向客户端返回相应的页面信息,该页面信息中包含有客户端所要展示的第一页面(即指定页面)中包含的各视图、客户端展示各视图时所使用的组件的组件标识以及各视图在该第一页面中的布局。客户端可根据获取到的页面信息,确定出该第一页面中所包含的各视图的视图标识以及各视图在该第一页面中的位置信息,进而将各视图的视图标识与各视图在该第一页面中的位置信息对应保存的在客户端所提供的视图容器中。其中,客户端可以赋值的形式,将各视图的视图标识与各视图在该第一页面中的位置信息对应保存的在客户端所提供的视图容器中。

这里的赋值形式可以理解为:客户端提供的视图容器可以是一段代码,这段代码用于管理第一页面中的各视图、各视图对应的各组件以及各视图在该第一页面中的各位置信息等页面信息,该视图容器起初不包含有这些页面信息,只是一个代码框架,而客户端在显示该第一页面中,可将从服务器中获取的该第一页面中包含的各视图、各视图对应的各组件以及各视图在该第一页面中的位置信息添加在该代码框架中的相应位置,此过程相当于将各视图、各视图对应的各组件以及各视图在该第一页面中的各位置信息以赋值形式保存在该视图容器中,从而是使该视图容器对该第一页面的页面信息进行管理。

当然,在本申请实施例中,客户端也可根据获取到的页面信息,确定出所要展示的第一页面中包含的各视图的视图标识以及各视图在第一页面所处的位置信息,继而根据确定出的各视图标识以及各视图的位置信息,创建出相应的视图容器,以使客户端在后续过程中,能够通过该视图容器,准确的确定出所要复用的视图的视图标识。

需要说明的是,上述提到的客户端根据用户执行的指定操作所要展示的指定页面可以是:当用户在终端屏幕中点击了该客户端的图标时,客户端可监测到用户对该客户端执行了启动的指定操作,进而确定出需要将客户端的首页展示给用户,其中,这里的首页即为第一页面。

当然,在申请实施例中,当用户在客户端所展示的页面中点击了页面跳转的控件时,则客户端可监测到用户指定了页面跳转的指定操作,继而确定出需要将跳转的页面展示给用户,其中,这里的提到的跳转的页面即为第一页面。

在实际应用中,组件在页面中所围成的区域通常为矩形区域,相应的,通过组件渲染得到的视图通常也为矩形形状,所以,在确定各视图在第一页面中的位置时,客户端可根据获取到的各视图在第一页面中的布局,以第一页面中的某一位置为,建立一个直角坐标系,并通过确定各视图四边的坐标值,确定出各视图在第一页面中的位置,其中,各视图四边的坐标值即为确定出的各视图在第一页面中的位置信息,如图3所示。

图3为本申请实施例提供的确定各视图在第一页面中的位置的示意图。

在图3中,客户端可以第一页面的左上角为坐标原点,构建如图3所示的直角坐标系,这样,各视图的四边坐标均可通过该直角坐标系进行确定,从而得到了各视图在该第一页面中的位置信息。

s102:当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识。

由于在实际应用中,受终端屏幕尺寸的影响,终端屏幕通常只能展示部分的页面内容,用户为了能够查看整个页面所展示的页面内容,通常需要在终端屏幕上将该页面进行滑动,以使其他部分的页面内容能够滑动到终端屏幕上进行显示。因此,客户端在页面展示的过程中,需要实时监测第一页面中终端屏幕上的移动情况,以此来确定出哪些视图应该显示在终端屏幕中,而哪些视图则应进行隐藏。

其中,当客户端监测到用户在终端屏幕上进行了滑动操作时,可根据用户的滑动操作,将所述第一页面在终端屏幕上进行相应的滑动,而在滑动第一页面的过程中,客户端可确定出第一页面相对于之前状态的偏移量,如图4所示。

图4为本申请实施例提供的用户在终端屏幕上执行滑动操作后,第一页面发生偏移的示意图。

假设,在当前时刻中,第一页面在终端屏幕上的显示状态为图4中的虚线区域所示,而后,用户在终端屏幕中向上滑动了该第一页面致使第一页面在终端屏幕中的显示状态由于虚线区域所示的显示状态转变为实现区域所示的显示状态,其中,相对于实现区域所示的第一页面终端屏幕中的显示状态来说,虚线区域所示的显示状态则属于第一页面在终端屏幕的先前状态。而在图4中,实现区域顶部与虚线区域顶部之间的距离则是客户端确定出的用户此次在终端屏幕上滑动第一页面时,第一页面的当前显示状态相对于先前显示状态的偏移量。

当客户端确定出第一页面在终端屏幕上发生偏移后而产生的偏移量时,可进一步根据该偏移量以及客户端提供的视图容器,确定出第一页面经过此次偏移后,需要显示在终端屏幕中的待显示视图的视图标识。

客户端为了能够根据上述偏移量,准确的确定出需要显示在终端屏幕中的待显示视图的视图标识,在本申请实施例中,在确定待显示视图的视图标识之前,客户端可将上述第一页面中包含的各视图的视图标识,按照确定出的各视图位置信息的第一坐标大小,将第一页面中的各视图的视图标识进行升序排列,得到第一视图标识队列,按照同样的方式,客户端可将该第一页面中包含的各视图的视图标识,按照确定出的各视图位置信息的第二坐标的大小,将各视图的视图标识进行降序排列,得到第二视图标识队列,其中,这里提到的第一坐标可以是各视图的顶边在所述第一页面中的坐标,而第二坐标则可以是各视图的底边在该第一页面中的坐标。

客户端可将得到的第一视图标识队列以及第二视图标识队列保存在客户端所提供的视图容器中,以在后续过程中,通过该视图容器以及确定出的上述偏移量,准确定出需要显示在终端屏幕中的待显示视图的视图标识。

需要说明的是,上述确定第一视图标识队列以及第二视图标识队列的方式主要是站在用户纵向滑动第一页面的情况来进行的,因为在实际应用中,用户在浏览大部分的页面时,通常只需要通过上下滑动(即纵向滑动)终端屏幕中的页面,即能实现整个页面的浏览。所以,针对这种情况来说,客户端在确定第一视图标识队列和第二视图标识队列时,是以视图的顶边和底边坐标来进行确定的,即第一坐标为视图顶边在该第一页面中的坐标,而第二坐标则为视图底边在该第一页面中的坐标。

当然,对于能够在终端屏幕上左右滑动的第一页面来说,在本申请实施例中,客户端也可通过各视图左右两边的坐标,来分别确定第一视图标识队列和第二视图标识队列,如,客户端可将视图左边在该第一页面中的坐标作为第一坐标,按照各视图第一坐标的大小,将各视图的视图标识进行升序排列,得到第一视图标识队列,而客户端可进一步将视图右边在该第一页面中的坐标作为第二坐标,并按照各视图第二坐标的大小,将各视图的视图标识进行降序排列,得到第二视图标识队列。

除此之外,对于即能在终端屏幕中上下滑动,也能在终端屏幕上进行左右滑动的第一页面,在本申请实施例中,客户端也可通过各视图左右两边的坐标,以及各视图上下两边的坐标,来分别确定出第一视图标识纵队列、第二视图标识纵队列、第一视图标识横队列以及第二视图标识横队列,并将得到的这四个视图标识队列保存的客户端所提供的视图容器中,以在后续过程中,通过这四个视图标识队列,以及确定出的页面的偏移量,准确的确定出待显示视图的视图标识。

需要说明的是,在本申请实施例中,第一坐标和第二坐标是相对的,即,当第一坐标为视图顶边在该第一页面中的坐标时,第二坐标则为视图底边在该第一页面中的坐标;而当第一坐标为视图左边在该第一页面中的坐标时,第二坐标则为视图右边在该第一页面中的坐标。当然,第一坐标也可以是视图底边在该第一页面中的坐标,相应的,第二坐标则可以是视图顶边在该第一页面中的坐标,而当第一坐标为视图右边在该第一页面中的坐标时,则第二坐标为视图左边在该第一页面中的坐标。

当客户端根据监测到的用户在终端屏幕上执行了滑动操作,确定出所述第一页面在终端屏幕上产生的偏移量时,客户端需要根据该偏移量,从第一视图标识队列以及第二视图标识队列中分别确定出第三视图标识队列以及第四视图标识队列,并通过确定出的第三视图标识队列以及第四视图标识队列,确定出第一页面在终端屏幕上发生此次偏移后,哪些视图是需要进入终端屏幕中进行显示的,而哪些视图需要从终端屏幕中移出并隐藏。

具体的,客户端在确定出上述偏移量后,可确定出该第一页面在终端屏幕中未发生此次偏移时,终端屏幕顶边位于该第一页面的坐标,该坐标可以称为第三坐标。而客户端可根据该第三坐标以及偏移量,确定出一个第四坐标,其中,这里的第四坐标是指:该第一页面经过此次偏移后,终端屏幕的顶端在该第一页面中所处的坐标。

需要说明的是,上述说明的确定第三坐标以及第四坐标的方式均是以第一页面只能在终端屏幕上进行上下滑动的情况来进行的,对于只能在终端屏幕上进行左右滑动的页面来说,确定第三坐标和第四坐标方式与上述类型,即,客户端可确定出该第一页面在终端屏幕中未发生此次偏移时,终端屏幕左边(或右边)位于该第一页面的坐标,该坐标即为第三坐标,而第四坐标则可在该第三坐标和偏移量的基础上确定出来。

当然,对于既能在终端屏幕进行上下滑动,也能在终端屏幕上进行左右滑动的页面来说,客户端可先确定出第一页面在未发生此次偏移之前,终端屏幕的顶边以及右边(当然也可以是其他边的组合,只要保证组合的两边是相互垂直的即可)在第一页面中的坐标,该坐标即为第三坐标。而客户端在确定出上述偏移量后,可对该偏移量进行分解,得到第一页面此次在终端屏幕上发生的纵向偏移量以及横向偏移量,并将根据该纵向偏移量、横向偏移量以及该第三坐标,确定出相应的第四坐标。

为了能够简单清楚的对本申请实施例进行说明,下面仅以第一页面只能在终端屏幕上进行纵向滑动的情况,来说明如何确定第三视图标识队列以及第四视图标识队列。

客户端在确定出第三坐标以及第四坐标后,可确定出终端屏幕的纵向长度,并进一步的确定出终端屏幕的纵向长度和第四坐标的和值,而后,客户端可从第一视图标识队列中确定出顶边坐标(即第一坐标)与该和值相匹配的第一视图标识,并通过该第一视图标识队列中位于该第一视图标识之前的各视图标识,确定出第三视图标识队列,即,第三视图标识队列是通过在该第一视图标识队列中位于该第一视图标识之前的各视图标识组成的。

而客户端在确定第四视图标识队列的过程中,可通过上述的第四坐标,从第二视图标识队列中,确定出底边坐标(即第二坐标)与该第四坐标相匹配的第二视图标识,并通过该第二视图标识队列中位于该第二视图标识之前的各视图标识,确定第四视图标识队列,即,该第四视图标识队列是通过在该第二视图标识队列中位于该第二视图标识之前的各视图标识组成的。

需要说明的是,客户端在确定上述和值与第一视图标识队列中的各顶边坐标进行匹配时,可通过确定和值与各顶边坐标的差值来确定,当该和值与某一顶边坐标的差值小于设定阈值时,则确定该顶边坐标与该和值相匹配。同理,确定第二视图标识队列中与第四坐标相匹配的底边坐标时,也可采用同样的方式进行。

当然,客户端也可采用其他算法来确定在第一视图标识队列中与上述和值相匹配的顶边坐标,如计算两种的点距离、方差等,在此就不进行一一赘述了。同样,客户端也可采用其他算法来确定在第二视图标识队列中与第四坐标相匹配的底边坐标。

客户端确定出上述第三视图标识队列以及第四视图标识队列后,可进一步的确定出这两个视图标识队列的交集,并根据该交集中包含的各视图标识,以及所述第一页面在未发生上述偏移之前,终端屏幕中所显示的各视图的视图标识,确定出该第一页面在发生上述偏移后,终端屏幕所应显示的各视图的视图标识。

由于第一页面在未发生上述偏移之前,终端屏幕中所显示的各视图可能与第一页面发生上述偏移后终端屏幕中所显示的各视图存在重叠部分,换句话说,第一页面在终端屏幕上发生此次偏移后,有一部分视图仍然留在终端屏幕中显示。

所以,为了确定出第一页面发生此次偏移后,需要加入到终端屏幕中进行显示的待显示视图,以及需要移出终端屏幕并隐藏的视图,在本申请实施例中,客户端可进一步的确定出第一页面未发生此次偏移之前,终端屏幕中显示的各视图的视图标识和上述交集之间的交集,从而确定出第一页面在终端屏幕上发生此次偏移后,仍留在终端屏幕上显示的视图标识。

而后,客户端可从上述交集(这里提到的交集为第三视图标识队列与第四视图标识队列之前的交集)中刨除确定出的仍留在终端屏幕上显示的视图标识,进而得到第一页面在终端屏幕上经过此次偏移后,需要加入到终端屏幕上进行显示的待显示视图的视图标识,即,确定出第一页面在终端屏幕上发生此次偏移后,待显示在终端屏幕中的视图的视图标识。

客户端可从第一页面未发生上述偏移之前,终端屏幕中显示的各视图的视图标识中刨除上述确定出的仍留在终端屏幕上显示的视图标识,从而得到该第一页面在终端屏幕上经过此次偏移后,需要移出终端屏幕的视图的视图标识,即,确定出第一页面在终端屏幕上经过此次偏移后,待隐藏在终端屏幕中的视图的视图标识。

需要说明的是,在实际应用中,上述第一页面在横向上通常不只存在一个视图,即,在第一页面的一排上,包含有多个视图。所以,对于第一页面只能在终端屏幕上进行纵向滑动的情况来说,客户端从第一视图标识队列中确定出的顶边坐标(即第一坐标)与上述和值(即上述第四坐标与终端屏幕的纵向长度的和值)相匹配的视图标识通常不止一个,而如何从这些视图标识(这些视图标识的顶边坐标均与该和值相匹配)中确定出一个指定的视图标识,并将该视图标识之前的之前的各视图标识确定为第三视图标识队列,则关系到是否能够准确的确定出第一页面在终端屏幕上经过此次偏移后需要在终端屏幕上显示的待显示视图的视图标识,同理,第四视图标识队列的确定同样涉及到这一问题。

因此,在本申请实施例中,客户端在确定第一视图标识队列时,对于顶边坐标(即第一坐标)均相同的视图标识,客户端需要将这些视图标识相邻进行排列,而至于哪个视图标识在前,哪个视图标识在后,客户端无需进行确定,即,对于顶边坐标均相同的视图标识,客户端可将这些视图标识进行随机排列,但是要保证这些视图标识在第一视图标识队列中是彼此相邻的。而对于顶边坐标不同的视图标识,则依旧按照顶边坐标升序排列的方式进行依次排列。

例如,假设存在视图标识a、b、c、d、e、f、g、h这8个视图,在这8个视图中,c、f、g这3个视图的顶边坐标均是相同的,而若将这3个视图看作是一个整体p的话,将这个整体p和其余5个视图按照顶边坐标升序排列的方式进行排序,将得到b、a、p、e、d、h,即顶边坐标依次增大。而由于整体p中的这3个视图的顶边坐标均是相同的,客户端可将这3个视图进行彼此相邻的随机排序,并最终得到第一视图标识队列b、a、f、c、g、e、d、h,其中,f、c、g即为随机但彼此相邻的排序。

而对于第二视图标识队列来说,当存在底边坐标(即第二坐标)相同的视图标识时,客户端也可将这些视图标识进行随机排序,但要保证这些视图标识是彼此相邻的,而底边坐标不同的视图标识,客户端则将按照底边坐标降序排列的方式,将各视图标识进行排序,从而得到第二视图标识队列。

当然,无论是顶边坐标(即第一坐标)相同的视图标识还是底边坐标(即第二坐标)相同的视图标识,客户端也可通过这些视图标识对应视图的左边或右边的坐标,来对这些视图标识进行排序。

例如,以顶边坐标相同的o、i、u这3个视图为例,这3个视图虽然顶边坐标是相同的,但是,这3个视图左边的坐标却是不同的,即,这3个视图虽然在第一页面中处于同一排中,但是,在第一页面中的位置却不同。基于此,客户端可将这3个视图按照左边坐标由小到大的顺序,将这3个视图进行排列,从而得到排序结果为:u、o、i,即,在第一页面中,视图u在左边、视图o在中间、视图i在右边,这3个视图处于同一排中。

除此之外,客户端也可使用其他的方式对顶边坐标相同或是底边坐标相同的视图标识进行排序,只需保证这些视图标识无论是在第一视图标识队列中还是在第二视图标识队列中,均是彼此相邻的即可。

对于第一视图标识队列中的各视图标识来说,各视图标识在该第一视图标识队列中均存在一个第一队列序号,即,各视图标识在该第一视图标识队列中的序号。所以,当客户端从第一视图标识队列中确定出顶边坐标(即第一坐标)与上述和值(即第四坐标与终端屏幕的纵向长度的和值)相匹配的视图标识不止一个时,可将这些视图标识中第一队列序号最小的视图标识确定为顶边坐标与该和值相匹配的第一视图标识,即,将这些视图标识中排在第一视图标识队列中最靠前的视图标识确定为该第一视图标识。

而对于第二视图标识队列中的各视图标识来说,各视图标识在该第二视图标识队列中均存在一个第二队列序号,即,各视图标识在该第二视图标识队列中的序号。而当客户端从该第二视图标识队列中确定出底边坐标(即第二坐标)与上述第四坐标相匹配的视图标识不止一个时,则同样可将这些视图标识中第二队列序号最小的视图标识确定为上述第二视图标识,即,同样将这些视图标识中排在第二视图标识队列中最靠前的视图标识确定为该第二视图标识。

客户端从第一视图标识队列中确定出上述第一视图标识后,可将在该第一视图标识队列中位于该第一视图标识之前的各视图标识确定为第三视图标识队列,同理,客户端从第二视图标识队列中确定出上述第二视图标识后,可将在该第二视图标识队列中位于该第二视图标识之前的各视图标识确定为第四视图标识队列。

客户端确定出第三视图标识队列和第四视图标识队列后,可根据上述说明的方式:通过确定第一页面未发生上述偏移之前,终端屏幕中显示的各视图的视图标识,以及第三视图标识队列和第四视图标识队列之间的交集,确定出第一页面在终端屏幕上经过此次偏移后,需要加入到终端屏幕中进行显示的视图的视图标识,即,待显示视图的视图标识。

同理,客户端可进一步的从第一页面未发生此次偏移之前终端屏幕显示的各视图中确定出待隐藏在终端屏幕中的视图的视图标识,即,该第一页面经过此次偏移后,需要移出终端屏幕的视图的视图标识。

对于待隐藏在终端屏幕中的各视图的视图标识来说,客户端可将这些视图标识对应的视图以及这些视图各自对应的组件对应保存在视图复用池中,以待后续进行复用。其中,客户端通过视图容器将这些视图及其对应的组件保存在视图复用池中时,并不是将视图及其对应的组件绑定保存在预设复用池中的,而是将他们对应进行保存的,这里的对应保存可以理解为:在视图复用池中,存在一个视图集和组件集,除此之外,视图复用池中还保存有一个视图标识与组件标识的对应关系,当客户端需要确定出某一视图对应的组件时,可通过该对应关系,从视图集中的各视图确定出与该视图对应的组件,反之亦然。

s103:根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。

客户端确定出待显示视图的视图标识后,可从视图复用池中查找是否存在该视图标识对应的视图,若是,则从复用池中复用该视图并显示,若否,则可根据该待显示视图对应的组件的组件标识,从视图复用池中确定出与该组件标识相匹配的组件,并通过对该组件的复用以及从上述视图容器中获取到的该视图,渲染该待显示视图并显示。

当然,客户端复用该组件后发现上述视图容器中只包含有该待显示视图的视图标识而不包含有该待显示视图时,则可根据该待显示视图的视图标识,从服务器中获取到相应的视图,继而通过复用的该组件,对该待显示视图进行渲染并显示。

客户端若未在视图复用池中查找到该组件对应的组件时,则可根据该组件标识,从客户端中预设的组件库中确定出与该组件相对应的组件,并根据从服务器中获取到的该待显示视图的视图信息,通过该组件渲染该待显示视图并显示。

从上述方法中可以看出,客户端无需通过系统内置的视图容器从视图复用池中对视图及其组件进行一并复用,而是可通过客户端所提高的视图容器,从视图复用池单独复用视图或组件,相对于现有技术而言,极大的提高了视图的复用率。

需要说明的是,在上述步骤s102中,客户端在从第一视图标识队列中确定顶边坐标(即第一坐标)与上述和值(即上述第四坐标与终端屏幕的纵向长度的和值)相匹配的视图标识时,可采用二分查找的方式,快速的定位出该视图标识。同理,客户端在从第二视图标识队列中确定底边坐标(即第二坐标)与上述第四坐标相匹配的视图标识时,同样可采用二分查找的方式,快速的定位出该视图标识。

当然,客户端在确定第一视图标识和第二视图标识的过程中,也可采用其他的方式,如,线性查找、插补查找、fibonacci查找、杂凑查找等。

以上为本申请实施例提供的视图复用的方法,为了能够进一步的清晰的说明整个视图复用的过程,下面将以具体实例进行说明,如图5所示。

图5为本申请实施例提供的视图复用的详细过程示意图。

在本申请实施例中,视图复用的详细过程大致可以分为以下阶段:一、视图容器的创建阶段;二、视图标识队列建立阶段;三、待显示视图的确定阶段;四、视图复用及隐藏阶段,下面将对这四个阶段进行逐步说明。

一、视图容器的创建阶段:

s501:接收展示指定页面的页面展示请求。

当客户端监测用户在终端屏幕上点击了该客户端的图标时,则监测到用户在终端屏幕上的指定操作,进而接收到需要向用户展示首页的页面展示请求,其中,这里提到的首页即为需要向用户展示的指定页面,而首页则是指客户端第一时间向用户展示的页面。当然,当客户端监测到用户在页面中点击了跳转其他页面的控件时,则确定接收到需要向用户展示跳转页面的页面展示请求,这里的跳转页面即为需要向用户展示的指定页面。

s502:从服务器中获取所述指定页面的页面信息。

客户端接收到上述页面展示请求后,可向服务器发送获取该指定页面的页面信息的页面信息获取请求,而服务器可根据客户端发送的该页面信息获取请求,向客户端返回该指定页面的页面信息。其中,该页面信息中包含有该指定页面所要展示的各视图的视图标识、各视图对应的各组件的组件标识以及各视图在该指定页面中的页面布局。

s503:根据所述页面信息,创建视图容器。

客户端在接收到服务器返回的页面信息后,可进一步从该页面信息中确定出所述指定页面中包含的各视图的视图标识以及各视图在该指定页面中的位置信息,该位置信息具体可以是由坐标的形式进行表示。而用于大多数的页面均为在终端屏幕上进行纵向滑动的页面,所以,在本申请实施例中,各视图的位置信息具体可以是各视图在该指定页面中的顶边坐标以及底边坐标。

客户端确定出各视图在该指定页面中的位置信息后,可进一步确定各视图的视图标识与各位置信息的对应关系,除此之外,客户端可通过该页面信息中包含的各视图对应的各组件的组件标识,确定出展示该指定页面时所需的各组件,并建立各视图与各组件的对应关系,其中,这里提到的对应关系并不是将视图与其对应组件进行绑定。客户端可根据确定出的这两个对应关系,创建该指定页面所对应的视图容器。

当然,该视图容器也可由客户端事先确定出,并在需要展示该指定页面时,提供该视图容器用于展示该指定页面,此时,客户端需要将确定出的上述两个对应关系以赋值的形式写入到该视图容器中,使之成为该指定页面所对应的视图容器。

二、视图标识队列建立阶段:

s601:通过所述视图容器,分别确定各视图在所述指定页面中的顶边坐标。

客户端创建该指定页面对应的视图容器后,可通过该视图容器中包含的各视图在该指定页面中的位置信息,确定出各视图在该指定页面中的顶边坐标,其中,该顶边坐标是通过以下方式确定的:客户端可将指定页面的左上角(当然也可以是右上角)为坐标原点,建立直角坐标系,并确定出各视图在该直角坐标系中的顶边坐标。

s602:将各视图的视图标识按照各顶边坐标的大小进行升序排列,得到第一视图标识队列。

客户端确定出各视图在该指定页面中的各顶边坐标后,可将各视图的视图标识,按照各顶边坐标的大小,由小到大进行排列,即升序排列,得到第一视图标识队列。

s603:通过所述视同容器,分别确定各视图在所述指定页面中的底边坐标。

客户端可通过确定各顶边坐标的方式,分别确定出各视图在该指定页面中的底边坐标,具体过程与上述步骤s601相同,在此不做详细赘述。

s604:将各视图的视图标识按照各底边坐标的大小进行降序排列,得到第二视图标识队列。

客户端确定出各视图在该指定页面中的各底边坐标后,可将各视图的视图标识,按照各底边坐标的大小,由大到小进行排列,即降序排列,得到第二视图标识队列。

客户端可将确定出的第一视图标识队列以及第二视图标识队列保存在所述视图容器中,以在后续过程中,通过该第一视图标识队列以及第二视图标识队列,确定出需要在终端屏幕上待显示视图的视图标识。

三、待显示视图的确定阶段:

s701:当监测到所述指定页面在终端屏幕上发生偏移时,确定所述指定页面的偏移量。

当客户端监测用户在终端屏幕上滑动该指定页面时,可对该指定页面在终端屏幕上发生偏移过程中所产生的偏移量进行监测。其中,在本申请实施例中,由于该指定页面指的是只能在终端屏幕上进行纵向滑动的页面,所以,客户端监测到的该指定页面在终端屏幕上的偏移量实质上为纵向偏移量。

s702:根据所述偏移量以及所述第一视图标识队列,确定第三视图标识队列。

客户端确定出上述偏移量后,可从上述视图容器中包含的第一视图标识队列中查找到与该偏移量和终端屏幕的纵向长度的和值相匹配的顶边坐标,并将该顶边坐标所对应的视图标识,确定为与该和值相匹配的第一视图标识。而后,客户端可将第一视图标识队列中位于该第一视图标识之前的各视图标识确定为第三视图标识队列。

s703:根据所述偏移量以及所述第二视图标识队列,确定第四视图标识队列。

客户端可进一步的从上述视图容器包含的第二视图标识队列中查找到与该偏移量相匹配的底边坐标,并将底边坐标所对应的视图标识,确定为与该偏移量相匹配的第二视图标识。而后,客户端可将第二视图标识队列中位于该第二视图标识之前的各视图标识确定为第四视图标识队列。

s704:根据所述第三视图标识队列、第四视图标识队列以及所述指定页面在未发生所述偏移时,终端屏幕上显示的各视图的视图标识,确定在终端屏幕上待显示视图的视图标识。

客户端确定出第三视图标识队列以及第四视图标识队列后,可进一步的确定出该指定页面在未发生偏移时,终端屏幕上显示的各视图的视图标识。而后,客户端可进一步的确定出第三视图标识队列和第四视图标识队列之间的交集,并通过该交集中包含的各视图标识以及该指定页面在未发生偏移时,终端屏幕上显示的各视图的视图标识,确定出该指定页面发生此次偏移后,终端屏幕上需要显示的待显示视图的视图标识以及需要隐藏的各视图的视图标识,具体的确定方式如图6所示。

图6为本申请实施例提供的确定待显示视图以及隐藏视图的过程示意图。

假设,该指定页面中包含有图6所示的7幅视图,这7幅视图在该指定页面中的布局方式如图6所示,视图1、2并排位于该指定页面的顶部,视图3独自一排位于视图1、2之下,视图4、5并排位于视图3之下、视图6、7并排位于该指定页面的底部。

客户端针对该指定页面确定出的第一视图标识队列和第二视图标识队列如图6中的两个视图队列所示。第一视图标识队列中的这7幅视图是按照顶边坐标升序排列的方式进行排序的,而第二视图标识队列中的这7幅视图则是按照底边坐标降序排列的方式进行排序的,每个视图标识在不同的视图标识队列中都有相应的队列序号。

在图6中,客户端以该指定页面的左上角为坐标原点,构建了一个直角坐标系,该指定页面在起初在终端屏幕上显示的视图为:视图1、视图2、视图3,而当用户在终端屏幕上纵向滑动该指定页面后,该指定页面在终端屏幕中向上进行了滑动,并产生了如图6所示的纵向偏移量。

其中,客户端可根据该纵向偏移量,确定出该指定页面经过此次偏移后,终端屏幕顶端在该指定页面中的位置y1,该y1即为终端屏幕顶端此时在该指定页面中的纵坐标。客户端可进一步的出终端屏幕的纵向长度,并确定出终端屏幕的纵向长度与y1的和值y2,也即终端屏幕底端此时在该指定页面中的纵坐标。

客户端确定出y1和y2后,可从第一视图标号队列中,确定出顶边坐标与y2相匹配的视图标识,其中,客户端发现在第一视图标识队列中,视图6、7的顶边坐标与y2相匹配,此时,客户端可将第一队列序号最小的视图6确定为与y2相匹配的第一视图标识,并将第一视图标识队列中位于该第一视图标识之前的各视图标识确定为第三视图队列,即,该第三视图标识队列中包含的视图1、2、3、4、5。

同理,客户端可从第二视图标识队列中,确定出底边坐标与y1相匹配的视图标识,其中,客户端发现在第二视图标识队列中,视图1、2的底边坐标与y1相匹配,此时客户端可将第二队列序号最小的视图2确定为与y1相匹配的第二视图标识,并将第二视图标识队列中位于第二视图标识之前的各视图标识确定为第四视图标识队列,即该第四视图标识队列中包含有视图3、4、5、6、7。

客户端确定出第三视图标识队列以及第四视图标识队列后,可进一步确定出这两个视图标识队列的交集,该交集中包含有视图3、4、5,这三个视图即为该指定页面发生此次偏移后,终端屏幕上所应显示的各视图。

客户端可确定出该指定页面在未发生此次偏移时,终端屏幕上所显示的视图为:视图1、2、3,之后,客户端可进一步的确定出上述交集与视图1、2、3之间的交集,即视图3。这样,客户端从第三视图标识队列以及第四视图标识队列之间的交集中刨除视图3,即得到该指定页面经过此次偏移后,需要加入到终端屏幕中进行显示的视图为:视图4、5,这两个视图即为所述待显示的视图。

同理,客户端从指定页面在未发生此次偏移时,终端屏幕上所显示的视图中刨除视图3,即得到该指定页面经过此次偏移后,需要移出终端屏幕的视图为:视图1、2,这两个视图即为待隐藏的视图。

四、视图复用及隐藏阶段:

s801:从视图复用池中查找是否存在所述待显示视图的视图标识所对应的视图,若是,则执行步骤s802,若否,则执行步骤s803。

s802:从所述视图复用池中复用所述视图并显示。

s803:根据所述待显示视图对应的组件的组件标识,从视图复用池中确定与所述组件标识相匹配的组件,并通过所述组件以及从服务器获取到的所述待显示视图的视图信息,渲染所述待显示视图并显示。

而当客户端未在视图复用池中查找到与该组件标识相匹配的组件时,则可通过该组件标识,从预设的组件库中调用与之相匹配的组件,并通过从服务器中获取到的该待显示视图的视图信息,渲染该待显示视图并显示,其中,该视图信息可以包含在此前客户端从服务器中获取到的页面信息中。

以上为本申请实施例提供的数据获取、数据显示的方法,基于同样的思路,本申请实施例还分别提供一种数据获取的装置以及一种数据显示的装置,如图7所示。

图7为本申请实施例提供的一种数据获取的装置示意图,具体包括:

容器提供模块701,提供视图容器,所述视图容器中包含页面中的视图与所述视图所使用的组件之间的对应关系;

确定模块702,当监测到第一页面在终端屏幕中发生偏移时,通过所述视图容器,确定在所述终端屏幕中待显示视图的视图标识;

视图复用模块703,根据所述待显示视图的视图标识,从视图复用池中查找所述待显示视图,并复用查找到的所述待显示视图,以使所述待显示视图在所述终端屏幕中进行显示,所述视图复用池用于回收由显示状态变化为隐藏状态的视图。

所述容器提供模块701,确定终端屏幕中第一页面所包含的各视图的视图标识、各视图所使用的组件的组件标识以及各视图在所述第一页面中的位置信息;根据所述视图标识、所述组件标识以及所述位置信息,创建所述视图容器。

所述确定模块702,按照确定出的各位置信息中第一坐标的大小,对所述各视图的视图标识进行升序排列,得到第一视图标识队列;按照确定出的各位置信息中第二坐标的大小,对所述各视图的视图标识进行降序排列,得到第二视图标识队列;将所述第一视图标识队列以及所述第二视图标识队列保存在所述视图容器中。

所述确定模块702,当监测到所述第一页面在所述终端屏幕中发生偏移时,确定所述第一页面在所述终端屏幕中的偏移量;根据所述偏移量以及所述视图容器,确定所述终端屏幕中的待显示视图的视图标识。

所述确定模块702,根据所述偏移量、所述终端屏幕显示区域的纵向长度以及所述视图容器包含的第一视图标识队列,确定第三视图标识队列;根据所述偏移量以及所述视图容器包含的第二视图标识队列,确定第四视图标识队列;根据所述第三视图标识队列以及所述第四视图标识队列,确定在所述终端屏幕中的待显示视图的视图标识。

所述确定模块702,确定在所述第一页面在终端屏幕中未发生偏移之前所述终端屏幕的顶端对应于所述第一页面的第三坐标;确定在所述第一页面在终端屏幕中发生偏移之后所述终端屏幕的顶端对应于所述第一页面的第四坐标;确定所述第四坐标以及所述终端屏幕显示区域的纵向长度的和值;在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识;根据所述第一视图标识队列中位于所述第一视图标识之前的各视图标识,得到第三视图标识队列。

所述确定模块702,在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的第二视图标识;根据所述第二视图标识队列中位于所述第二视图标识之前的各视图标识,得到第四视图标识队列。

所述确定模块702,当在所述第一视图标识队列中存在至少一个视图标识对应的第一坐标与所述和值相匹配时,将所述至少一个视图标识中第一队列序号最小的视图标识确定为第一坐标与所述和值相匹配的第一视图标识;

所述确定模块702,当在所述第二视图标识队列中存在至少一个视图标识对应的第二坐标与所述第四坐标相匹配时,将所述至少一个视图标识中第二队列序号最小的视图标识确定为第二坐标与所述第四坐标相匹配的第二视图标识。

所述确定模块702,通过二分查找的方式,在所述视图容器包含的第一视图标识队列中确定第一坐标与所述和值相匹配的第一视图标识;

所述确定模块702,通过二分查找的方法,在所述视图容器包含的第二视图标识队列中确定第二坐标与所述第四坐标相匹配的第二视图标识。

所述确定模块702,确定所述第三视图标识队列与所述第四视图标识队列取交集,得到所述第三视图标识队列与所述第四视图标识队列的共有视图标识;根据在所述第一页面未发生所述偏移之前所述终端屏幕中显示的各视图的视图标识,以及所述共有视图标识,确定在所述终端屏幕中的待显示视图的视图标识。

所述确定模块702,根据在所述第一页面未发生所述偏移之前所述终端屏幕中显示的各视图的视图标识,以及所述共有视图标识,从在所述第一页面未发生所述偏移之前所述终端屏幕显示的各视图中,确定在所述第一页面发生所述偏移之后显示状态变化为隐藏状态的视图;将确定出的所述视图和/或所述终端视图对应的组件对应回收至在所述视图复用池中。

所述视图复用模块703,从视图复用池中查找是否存在所述待显示视图的视图标识对应的视图;若是,则从所述视图复用池中复用所述待显示视图并显示;若否,则根据所述待显示视图对应的组件标识,从服务器获取的所述待显示视图的视图信息,渲染所述待显示视图并显示。

所述视图复用模块703,当确定出所述视图复用池中包含所述组件标识对应的组件时,则从所述视图复用池中复用所述组件,并通过所述组件渲染从所述服务器获取的所述待显示视图的视图信息,以显示所述待显示视图;当确定出所述视图复用池中未包含有所述组件标识对应的组件时,则根据所述组件标识,从预设的组件库中确定与所述组件标识相对应的组件;并通过所述组件,以及从所述服务器中获取到显示所述待显示视图的视图信息,渲染所述待显示视图并显示。

本申请实施例提供一种视图复用的方法及装置,该方法中客户端当监测到第一页面在终端屏幕中发生偏移时,通过为该第一页面的展示所提供的视图容器,确定出在终端屏幕中待显示视图的视图标识,客户端可根据该待显示视图的视图标识,从视图复用池中查找到与之相匹配的视图,并通过复用该视图的方式,使该视图显示在终端屏幕上。客户端在进行页面展示的过程中,可通过客户端中设置的视图容器对页面中的各视图进行管理,而不再使用系统内置的视图容器管理各视图,所以,在本申请实施例中,当客户端需要从视图复用池中对视图进行复用时,客户端无需将该视图与该视图对应的组件进行一并复用,而是可通过客户端提供的视图容器对该视图进行单独复用,相对于现有技术而言,极大的提高了视图的复用率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1