一种多窗口中标签页的展示方法及装置的制造方法

文档序号:8543523阅读:211来源:国知局
一种多窗口中标签页的展示方法及装置的制造方法
【技术领域】
[0001]本发明涉及浏览器技术领域,特别是涉及一种多窗口中标签页的展示方法及装置。
【背景技术】
[0002]用户利用终端设备内的浏览器来浏览页面成为用户获得网络信息的主要途径之一,而为了方便用户对于浏览器的浏览,通常采用多标签技术,即在一个浏览器中可以打开多个标签页,每一标签页对应一个页面。进一步的,为了查看当前所存在的多个标签页,用户需要进入到多个标签页所在的窗口(以下简称多窗口),多窗口中的标签页以页面截图的方式展现。
[0003]现有技术中,多窗口中标签页的展示方法包括:浏览器在接收到用户发出的关于多窗口的展示操作后,调用静态布局文件来初始化多窗口所对应的根窗口,以及用来显示标签集合的定位窗口,其中,根窗口位于浏览器的视图窗口中,而定位窗口位于该根窗口下;根据当前所存在的标签页的属性,确定当前所存在的各个标签页的标题和内容截图;进而,调用系统提供的应用程序接口来利用CPU来进行图像绘制,从而实现多窗口中的标签页的展示,具体的,在绘制时,首先创建图像绘制时各个标签页所需的数据存储结构,然后,基于该数据存储结构来利用CPU绘制图像,其中,创建数据存储结构即为:创建多个子窗口,确定标签页的标题与内容截图所对应子窗口以和位于子窗口的位置,并且,确定各个子窗口在定位窗口的位置。
[0004]尽管现有技术实现了多窗口中标签页的展示,但是,每次进入多窗口时都需要初始化根窗口和定位窗口,导致展示过程较为繁琐;另外,当图片过大或过多时,通过CPU来绘制图像显然会消耗较大的内存,导致绘制速率较低,最终使得界面流畅性会受到影响。

【发明内容】

[0005]本发明实施例的目的在于提供一种多窗口中标签页的展示方法及装置,以简化多窗口展示过程及提高绘制速率。具体技术方案如下:
[0006]第一方面,本发明实施例提供了一种多窗口中标签页的展示方法,应用于浏览器,所述方法包括:
[0007]获得关于多窗口的展不指令;
[0008]确定位于所述浏览器的视图窗口下的所述多窗口所对应的根窗口以及位于所述根窗口下的定位窗口,其中,所述根窗口和所述定位窗口为:所述浏览器启动后,在第一次执行多窗口中标签页的展示过程中初始化生成的,其中,所述根窗口为与OpenGL匹配使用的植染窗口 GLSurfaceView ;
[0009]获得所述浏览器中当前所存在的标签页的标题和内容截图,其中,所述标题和内容截图具有一一对应性;
[0010]获得所述标题的纹理数据和相应内容截图的纹理数据,其中,所述标题的纹理数据和相应内容截图的纹理数据由CPU生成;
[0011]通过调用OpenGL将所述标题的纹理数据和相应内容截图的纹理数据绘制到所述根窗口下的所述定位窗口上,从而实现在所述定位窗口中展示当前所存在的标签页的页面截图。
[0012]可选的,所述获得所述浏览器中当前所存在的标签页的标题和内容截图,包括:
[0013]基于当前所存在的标签页的页面属性,得到当前所存在的标签页的标题和内容截图。
[0014]可选的,所述获得所述浏览器中当前所存在的标签页的标题和内容截图,包括:
[0015]判断当前所存在的标签页的标题和内容截图是否缓存于第一预设缓存空间,如果是,从所述第一预设缓存空间中得到所述浏览器中当前所存在的标签页的标题和内容截图,否则,基于所述当前所存在的标签页的页面属性,得到所述当前所存在的标签页的标题和内容截图。
[0016]可选的,所述获得所述标题的纹理数据和相应内容截图的纹理数据,包括:
[0017]将所述标题和相应内容截图加载到CPU中,以通过CPU生成所述标题的纹理数据和相应内容截图的纹理数据。
[0018]可选的,所述获得所述标题的纹理数据和相应内容截图的纹理数据,包括:
[0019]判断所述标题的纹理数据和相应内容截图的纹理数据是否缓存于第二预设缓存空间,如果是,从所述第二预设缓存空间中得到所述标题的纹理数据和相应内容截图的纹理数据,否则,将所述标题和相应内容截图加载到CPU中,以通过CPU生成所述标题的纹理数据和相应内容截图的纹理数据;
[0020]其中,所述第二预设缓存空间为GPU所对应的缓存空间,且所述第二预设缓存空间所存储的标题的纹理数据和相应内容截图的纹理数据为基于OpenGL实现的缓存。
[0021]可选的,所述通过调用OpenGL将所述标题的纹理数据和相应内容截图的纹理数据绘制到所述根窗口下的所述定位窗口上,包括:
[0022]确定所述根窗口下的定位窗口的布局方式;
[0023]为每一组标题的纹理数据和相应内容截图的纹理数据生成一子窗口 ;
[0024]基于所确定出的所述布局方式,将所述子窗口添加到所述定位窗口的相应位置;
[0025]通过调用程序接口 setRenderMode使得OpenGL将所述根窗口设置为植染模式;
[0026]通过调用程序接口 requestRender使得OpenGL在各个子窗口上绘制相应的标题的纹理数据和相应内容截图的纹理数据,其中,所述标题的纹理数据绘制在相应子窗口的标题位置,所述内容截图的纹理数据绘制在相应子窗口的内容区域。
[0027]第二方面,本发明实施例还提供了一种多窗口中标签页的展示装置,应用于浏览器,所述装置包括:
[0028]展示指令获得模块,用于获得关于多窗口的展示指令;
[0029]窗口确定模块,用于确定位于所述浏览器的视图窗口下的所述多窗口所对应的根窗口以及位于所述根窗口下的定位窗口,其中,所述根窗口和所述定位窗口为:所述浏览器启动后,在第一次执行多窗口中标签页的展示过程中初始化生成的,其中,所述根窗口为与OpenGL匹配使用的植染窗口 GLSurfaceView ;
[0030]信息获得模块,用于获得所述浏览器中当前所存在的标签页的标题和内容截图,其中,所述标题和内容截图具有一一对应性;
[0031]纹理数据获得模块,用于获得所述标题的纹理数据和相应内容截图的纹理数据,其中,所述标题的纹理数据和相应内容截图的纹理数据由CPU生成;
[0032]纹理数据绘制模块,用于通过调用OpenGL将所述标题的纹理数据和相应内容截图的纹理数据绘制到所述根窗口下的所述定位窗口上,从而实现在所述定位窗口中展示当前所存在的标签页的页面截图。
[0033]可选的,所述信息获得模块包括:
[0034]第一信息获得单元,用于基于当前所存在的标签页的页面属性,得到当前所存在的标签页的标题和内容截图。
[0035]可选的,所述信息获得模块包括:
[0036]第一判断单元,用于判断当前所存在的标签页的标题和内容截图是否缓存于第一预设缓存空间,如果是,触发第二信息获得单元,否则,触发第三信息获得单元;
[0037]所述第二信息获得单元,用于从所述第一预设缓存空间中得到所述浏览器中当前所存在的标签页的标题和内容截图;
[0038]所述第三信息获得单元,用于基于当前所存在的标签页的页面属性,得到当前所存在的标签页的标题和内容截图。
[0039]可选的,所述纹理数据获得模块包括:
[0040]第一纹理数据获得单元,用于将所述标题和相应内容截图加载到CPU中,以通过CPU生成所述标题的纹理数据和相应内容截图的纹理数据。
[0041]可选的,所述纹理数据获得模块包括:
[0042]判断单元,用于判断所述标题的纹理数据和相应内容截图的纹理数据是否缓存于第二预设缓存空间,如果是,触发第二纹理数据获得单元,否则,触发第三纹理数据获得单元;
[0043]所述第二纹理数据获得单元,用于从所述第二预设缓存空间中得到所述标题的纹理数据和相应内容截图的纹理数据;
[0044]所述第三纹理数据获得单元,用于将所述标题和相应内容截图加载到CPU中,以通过CPU生成所述标题的纹理数据和相应内容截图的纹理数据;
[0045]其中,所述第二预设缓存空间为GPU所对应的缓存空间,且所述第二预设缓存空间所存储的标题的纹理数据和相应内容截图的纹理数据为基于OpenGL实现的缓存。
[0046]可选的,所述纹理数据绘制模块包括:
[0047]布局方式确定单元,用于确定所述根窗口下的定位窗口的布局方式;
[0048]子窗口生成单元,用于为每一组标题的纹理数据和相应内容截图的纹理数据生成一子窗口 ;
[0049]子窗口添加单元,用于基于所确定出的所述布局方式,将所述子窗口添加到所述定位窗口的相应位置;
[0050]窗口植染单元,用于通过调用程序接口 setRenderMode使得OpenGL将所述根窗口设置为渲染模式;
[0051]纹理数据绘制单元,用于通过调用程序接口 requestRender使得OpenGL在各个子窗口上绘制相应的标题的纹理数据和相应内容截图的纹理数据,其中,所述标题的纹理数据绘制在相应子窗口的标题位置,所述内容截图的纹理数据绘
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1