网页图片的加载方法和装置的制造方法_2

文档序号:8223632阅读:来源:国知局
由以上描述可以看出,本公开终端可以通过为网页文件中的每张动态图片生成对应的RenderLayer,进而可以为所述RenderLayer生成对应的GraphicsLayer,即为每张动态图片生成一个对应GraphicsLayer,以便可以根据所述GraphicsLayer对动态图片进行绘制。本公开在网页文件中存在有多张动态图片时,分别对每张动态图片进行绘制,可以有效减小绘制的区域大小,提升渲染性能,同时节省CPU的计算资源。
[0071]图2是根据一示例性实施例示出的另一种网页图片的加载方法的流程图。
[0072]如图2所示,所述网页图片的加载方法可以用于终端中,包括以下步骤:
[0073]在步骤201中,根据网页文件生成Render树。
[0074]在本实施例中,用户通过终端上装载的浏览器访问网页时,终端将用户的访问请求发送给相关服务器,所述相关服务器在解析所述访问请求后,会返回一个网页文件。终端在接收到所述网页文件后,解析所述网页文件,生成DOM(Document Object Model,文件对象模型)树和Render树。其中,DOM树用于描述网页的页面信息;Render树用于对网页的页面进行布局,主要包括网页中各个元素的位置、大小等属性。
[0075]在步骤202中,在所述Render树中识别所述网页文件中的动态图片。
[0076]在本实施例中,可以根据所述Render树中各个节点的属性信息识别所述网页文件中的动态图片。
[0077]请参考图3,本公开根据一示例性实施例示出的一种在Render树中识别网页文件中的动态图片的流程图,所述在所述Render树中识别所述网页文件中的动态图片可以包括:
[0078]在步骤S301中,判断所述Render树中RenderImage节点包含的图片数量是否大于I。如果所述Render树中RenderImage节点包含的图片数量大于1,则执行步骤S302。
[0079]在本实施例中,所述网页文件中的图片元素的各种属性通常存储在所述Render树中的Render Image节点中,所以在识别所述网页文件中的动态图片时,可以先在所述Render树中查找RenderImage节点,在查找到所述RenderImage节点后,可以先判断所述RenderImage节点包含的图片数量是否大于1,比如:可以判断所述RenderImage节点的属性count的数值是否大于I。如果所述RenderImage节点包含的图片数量大于1,则可以执行步骤S302。如果所述RenderImage节点包含的图片数量小于等于1,则说明所述RenderImage节点不是动态图片的RenderImage节点,因为动态图片通常由多张静态图片按照一定的帧频进行播放而形成。在本实施例中,如果所述Render树中RenderImage节点包含的图片数量小于等于I,则继续执行本步骤,对下一个RenderImage节点进行判断。
[0080]在步骤S302中,判断所述Render树中RenderImage节点的帧频是否大于O。如果所述Render树中RenderImage节点的帧频大于0,则执行步骤S303。
[0081]在本实施例中,判断所述RenderImage节点的帧频属性是否大于0,如果所述RenderImage节点的帧频属性大于0,则执行步骤S303。如果所述Render树中RenderImage节点的帧频等于0,则说明所述RenderImage节点不是动态图片的RenderImage节点,可以执行步骤S301,对下一个RenderImage节点进行判断。
[0082]在步骤S303中,确认所述RenderImage节点为动态图片的RenderImage节点。
[0083]在本实施例中,基于前述步骤S301和步骤S302的判断结果,如果所述Render树中RenderImage节点包含有多张图片,且帧频大于0,则在本步骤中,可以确认所述RenderImage节点为动态图片的RenderImage节点。
[0084]需要说明的是,本实施例并不限定前述步骤S301和步骤S302的执行顺序,在本公开另一实施例中,也可以先执行步骤S302,判断所述Render树中RenderImage节点的帧频是否大于0,如果判断所述Render树中RenderImage节点的帧频大于0,则执行步骤S301,判断所述Render树中RenderImage节点包含的图片数量是否大于I。而在步骤S303中,依然是在所述Render树中RenderImage节点包含的图片数量大于1,且所述RenderImage节点的帧频大于0,即在这两个条件都满足时,确认所述RenderImage节点为动态图片的RenderImage 节点。
[0085]在本实施例中,终端可以在判断所述Render树中RenderImage节点包含的图片数量大于1,且所述RenderImage节点的帧频大于O时,确认所述RenderImage节点为动态图片的RenderImage节点,进而提高网页文件中动态图片识别的准确度。
[0086]请参考图4,本公开根据一示例性实施例示出的另一种在Render树中识别网页文件中的动态图片的流程图,所述在所述Render树中识别所述网页文件中的动态图片可以包括:
[0087]在步骤S401中,判断所述Render树中RenderImage节点的路径中是否包括字符gif ο如果所述Render树中RenderImage节点的路径中包括字符gif,则执行步骤S402。
[0088]在本实施例中,所述网页文件中的图片元素的各种属性通常存储在所述Render树中的Render Image节点中,所以在识别所述网页文件中的动态图片时,可以先在所述Render树中查找RenderImage节点,在查找到所述RenderImage节点后,可以先判断所述RenderImage节点的路径中是否包括字符gif,如果所述RenderImage节点的路径中包括字符gif,则所述RenderImage节点可能gif格式的是静态图片的RenderImage节点,也可能是gif格式的动态图片,执行步骤S402,继续进行判断。如果所述Render树中RenderImage节点的路径中不包括字符gif,则所述RenderImage节点不是动态图片的RenderImage节点,继续执行本步骤,对下一个RenderImage节点进行判断。
[0089]在步骤S402中,判断所述RenderImage节点包含的图片数量是否大于I,判断所述Render树中RenderImage节点的帧频是否大于O。如果所述Render树中RenderImage节点包含的图片数量大于1,且所述RenderImage节点的帧频大于0,则执行步骤S403。
[0090]在本实施例中,对所述RenderImage节点包含的图片数量和帧频进行判断,可以参考图3所示的现过程,在此不再一一赘述。
[0091]在本步骤中,如果所述Render树中RenderImage节点包含的图片数量小于等于1,或者所述Render树中RenderImage节点的帧频等于0,或者所述Render树中RenderImage节点包含的图片数量小于等于I的同时所述Render树中RenderImage节点的帧频等于0,都说明所述RenderImage节点不是动态图片的RenderImage节点,执行步骤S401,对下一个RenderImage节点进行判断。
[0092]在步骤S403中,确认所述RenderImage节点为动态图片的RenderImage节点。
[0093]在本实施例中,基于前述步骤S402的判断结果,如果所述Render树中RenderImage节点包含有多张图片,且帧频大于O,则在本步骤中,可以确认所述RenderImage节点为动态图片的RenderImage节点。
[0094]在步骤S203中,分别为所述动态图片生成对应的RenderLayer。
[0095]在本实施例中,所述RenderLayer代表了网页某一层的内容,所述内容以网页绘制命令的形式存储,以供后续绘制。
[0096]在本步骤中,基于前述步骤S202,在识别出所述网页文件中的动态图片后,在本步骤中为所述动态图片生成对应的RenderLayer。举例来说,假设在前述步骤S202中识别出所述网页文件中一共包括有3张动态图片,则在本步骤中,分别为这3张动态图片生成对应的 RenderLayer,即生成 3 个 RenderLayer。
[0097]在步骤S204中,为所述RenderLayer生成对应的GraphicsLayer。
[0098]在本实施例中,所述GraphicsLayer由RenderLayer在满足一定条件时生成,比如:在RenderLayer具有特定属性时生成对应的GraphicsLayer。所述GraphicsLayer是终端需要独立绘制的网页区域。
[0099]基于前述步骤S203,在为所述动态图片生成对应的RenderLayer后,分别为每个RenderLayer生成对应的GraphicsLayer,即为所述动态图片生成对应的GraphicsLayer。以步骤S203中的假设为例,在本步骤中,分别为前述3个RenderLayer生成对应的GraphicsLayer,即生成3个GraphicsLayer,所述3个GraphicsLayer分别与前述的3张动态图片对应。
[0100]需要说明的是,在实际实现中,RenderLayer的生成与GraphicsLayer的生成是两个独立的过程,所以本步骤中在为RenderLayer生成对应的GraphicsLayer时,可以先判断所述Rend
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1