技术领域
[0001] 本公开涉及终端技术领域,特别涉及一种网页渲染的方法及装置。
背景技术
[0002] 随着终端技术以及互联网的发展,用户通过终端中的浏览器可以随时随地的浏览网页。
[0003] 网页中存在有各种元素,其中网页动画是目前网页中必不可缺的元素之一。用户在进行网页浏览过程中会进行滚动操作,而在滚动操作时会对网页中的网页动画进行重新渲染,会导致网页的
帧速率下降以及造成渲染性能的下降,浪费了
中央处理器的资源。
发明内容
[0004] 为了解决相关技术的问题,本公开
实施例提供了一种网页渲染的方法及装置。所述技术方案如下:
[0005] 根据本公开实施例的第一方面,提供一种网页渲染的方法,包括:
[0006] 监听针对终端屏幕的滚动事件;
[0007] 如果监听到针对终端屏幕的滚动事件,则暂停渲染当前显示的网页中的各网页动画;
[0008] 如果监听到所述滚动事件结束,则恢复渲染当前显示的网页中的各网页动画。
[0009] 可选的,所述监听针对终端屏幕的滚动事件,包括:
[0010] 如果监听到针对终端屏幕的触控事件,则确定所述触控事件是否为scroll或fling事件;
[0011] 如果所述触控事件为scroll或fling事件,则确定监听到针对终端屏幕的滚动事件。
[0012] 可选的,所述暂停渲染当前显示的网页中的各网页动画,包括:
[0013] 调用
指定的系统
接口,控制当前显示的网页中各网页动画的
定时器暂定运行,以暂停渲染所述当前显示的网页中的各网页动画;
[0014] 其中,所述指定的系统接口中的参数为第一参数。
[0015] 可选的,所述恢复渲染当前显示的网页中的各网页动画,包括:
[0016] 调用指定的系统接口,控制当前显示的网页中各网页动画的定时器恢复运行,以恢复渲染当前显示的网页中的各网页动画;
[0017] 其中,所述指定的系统接口中的参数为第二参数。
[0018] 可选的,所述网页动画包括:
图像互换格式GIF网页动画和/或脚本语言Javascript网页动画。
[0019] 根据本公开实施例的第二方面,提供一种网页渲染的装置,包括:
[0020] 监听模
块,用于监听针对终端屏幕的滚动事件;
[0021] 暂停渲染模块,用于在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画;
[0022] 恢复渲染模块,用于在监听到所述滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。
[0023] 可选的,所述监听模块,包括:
[0024] 第一确定单元,用于在监听到针对终端屏幕的触控事件时,确定所述触控事件是否为scroll或fling事件;
[0025] 第二确定单元,用于在所述触控事件为scroll或fling事件是,确定监听到针对终端屏幕的滚动事件。
[0026] 可选的,所述暂停渲染模块用于:
[0027] 调用指定的系统接口,控制当前显示的网页中各网页动画的定时器暂定运行,以暂停渲染所述当前显示的网页中的各网页动画;
[0028] 其中,所述指定的系统接口中的参数为第一参数。
[0029] 可选的,所述恢复渲染模块用于:
[0030] 调用指定的系统接口,控制当前显示的网页中各网页动画的定时器恢复运行,以恢复渲染当前显示的网页中的各网页动画;
[0031] 其中,所述指定的系统接口中的参数为第二参数。
[0032] 可选的,所述网页动画包括:图像互换格式GIF网页动画和/或脚本语言Javascript网页动画。
[0033] 根据本公开实施例的第三方面,提供一种网页渲染的装置,包括:
[0034] 处理器;
[0036] 其中,所述处理器被配置为:
[0037] 监听针对终端屏幕的滚动事件;
[0038] 如果监听到针对终端屏幕的滚动事件,则暂停渲染当前显示的网页中的各网页动画;
[0039] 如果监听到所述滚动事件结束,则恢复渲染当前显示的网页中的各网页动画。
[0040] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0041] 通过监听针对终端屏幕的滚动事件,并在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画,在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。提高了网页渲染的效率,节省了系统资源。
[0042] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0043] 此处的附图被并入
说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0044] 图1是根据一示例性实施例示出的一种网页渲染的方法的
流程图;
[0045] 图2是根据一示例性实施例示出的一种网页渲染的方法的流程图;
[0046] 图3是根据一示例性实施例示出的一种网页渲染的装置的
框图;
[0047] 图4是根据一示例性实施例示出的一种网页渲染的装置中选取模块的框图;
[0048] 图5是根据一示例性实施例示出的一种网页渲染的装置的框图(移动终端的一般结构)。
具体实施方式
[0049] 为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
[0050] 本公开一示例性实施例提供了一种网页渲染的方法,本方法实施例应用于终端中,参见图1,方法流程包括:
[0051] 在步骤101中,监听针对终端屏幕的滚动事件;
[0052] 在步骤102中,如果监听到针对终端屏幕的滚动事件,则暂停渲染当前显示的网页中的各网页动画;
[0053] 在步骤103中,如果监听到滚动事件结束,则恢复渲染当前显示的网页中的各网页动画。
[0054] 本公开实施例通过监听针对终端屏幕的滚动事件,并在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画,在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。提高了网页渲染的效率,节省了系统资源。
[0055] 本公开另一示例性实施例提供了一种网页渲染的方法,本方法实施例应用于终端中,参见图2。
[0056] 在步骤201中,监听针对终端屏幕的滚动事件。
[0057] 其中,本步骤可以在终端中的浏览器应用启动后开始执行。
[0058] 可选的,其他非浏览器应用中可以通过调用系统中的浏览器组件来实现浏览器的功能,因此在其他非浏览器应用调用系统中的浏览器组件时可以执行本步骤,进行监听滚动事件的操作。
[0059] 本公开实施例以Android
操作系统为例进行描述,在Android操作系统中,chromium浏览器引擎所有的事件是由Android的view系统传递给浏览器
内核。因此当用户在终端屏幕中进行了触控操作时,系统会触发相应的touch事件,即触控事件,并广播该触控事件。其中,触控操控可以包括但不限于:点击操作,滚动操作;相应的,触控事件可以包括但不限于:点击事件,滚动事件。
[0060] 用户在浏览网页进行滚动操作时,一般不会关注到网页中的内容,而会在停止滚动操作后,才会关注网页中的内容。因此,本发明实施例中在监听到滚动事件之后,则会暂停渲染网页中的网页动画。
[0061] 其中,步骤201中监听针对终端屏幕的滚动事件的操作的过程可以通过以下步骤进行实现:
[0062] 在步骤2011中,如果监听到针对终端屏幕的触控事件,则确定触控事件是否为scroll或fling事件。
[0063] 其中,滚动事件可以包括两种类型:scroll事件和fling事件。
[0064] scroll事件和fling事件为用户在终端屏幕中执行了如下操作后触发的:检测到触控屏幕的事件;检测到滑动操作的事件;检测到触控屏幕后离开屏幕的事件。
[0065] scroll事件和fling事件之间的区别为:在第二个过程即滑动操作过程中,用户滑动操作的
加速度小于一定的
阈值,则为scroll事件;如果用户滑动操作的加速度大于或等于一定的阈值则为fling事件。即,fling事件为用户滑动操作较快,在用户
手指离开屏幕后,屏幕中滚动事件继续维持,并以一定的加速度衰减直至滚动停止。
[0066] 相应的,scroll事件则表现为用户的手指在触控屏幕后离开屏幕时,检测到滚动事件结束;而fling事件表现为用户的手指在触控屏幕后离开屏幕之后,屏幕中的滚动事件并未结束,屏幕中的页面还在继续滚动,此时滚动会越来越慢直至滚动停止后,检测到滚动事件结束。
[0067] 在步骤2012中,如果触控事件为scroll或fling事件,则确定监听到针对终端屏幕的滚动事件。
[0068] 在步骤202中,如果监听到针对终端屏幕的滚动事件,则调用指定的系统接口,控制当前显示的网页中各网页动画的定时器暂定运行,以暂停渲染当前显示的网页中的各网页动画;
[0069] 其中,指定的系统接口中的参数为第一参数。
[0070] 其中,指定的系统接口可以为:ContentViewStatics.setWebKitSharedTimersSuspended()。其中,第一参数为true。即调用ContentViewStatics.setWebKitSharedTimersSuspended(true)以实现将当前显示的网页对应的定时器
开关暂停,相应的当前显示的网页中各网页动画的定时器都被暂停,进而浏览器内核则会暂停会各网页动画的渲染,以提高浏览网页的
帧速率。
[0071] 另外,网页动画可以包括但不限于以下两种:GIF(Graphics Interchange Format,图像互换格式)网页动画和/或脚本语言Javascript网页动画。
[0072] 其中,GIF网页动画为GIF图片,该GIF图片为动态图片,该动态图片由多张静态图片构成,多张静态图片中以设定的时间间隔按顺序进行显示,以实现动画的效果;Javascript网页动画为通过脚本
语言代码将动态图片或者静态图片在网页中实现滚动等动画效果,例如:将一张静态图片由网页左侧滚动至网页右侧,再由右侧滚动回左侧的动画效果。
[0073] 在步骤203中,如果监听到滚动事件结束,则调用指定的系统接口,控制当前显示的网页中各网页动画的定时器恢复运行,以恢复渲染当前显示的网页中的各网页动画;
[0074] 其中,指定的系统接口中的参数为第二参数。
[0075] 其中,指定的系统接口可以为:ContentViewStatics.setWebKitSharedTimersSuspended()。其中,第二参数为false。即调用ContentViewStatics.setWebKitSharedTimersSuspended(false)以实现将当前显示的网页对应的定时器开关恢复,相应的当前显示的网页中各网页动画的定时器都被恢复工作,进而浏览器内核则会恢复对各网页动画的渲染。
[0076] 针对scroll事件和fling事件,都是在检测到滚动事件结束后,恢复渲染当前显示的网页中的各网页动画。而并非在检测到触控屏幕后离开屏幕的事件时,恢复渲染当前显示的网页中的各网页动画。
[0077] 本公开实施例通过监听针对终端屏幕的滚动事件,并在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画,在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。提高了网页渲染的效率,节省了系统资源。
[0078] 对应于上述示例性实施例提供的网页渲染的方法,本公开另一示例性实施例提供了一种网页渲染的装置,参见图3,该装置包括:
[0079] 监听模块301,被配置为监听针对终端屏幕的滚动事件;
[0080] 暂停渲染模块302,被配置为在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画;
[0081] 恢复渲染模块303,被配置为在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。
[0082] 其中,如图4所示,监听模块301,包括:
[0083] 第一确定单元3011,被配置为在监听到针对终端屏幕的触控事件时,确定触控事件是否为scroll或fling事件;
[0084] 第二确定单元3012,被配置为在触控事件为scroll或fling事件是,确定监听到针对终端屏幕的滚动事件。
[0085] 其中,暂停渲染模块302用于:
[0086] 调用指定的系统接口,控制当前显示的网页中各网页动画的定时器暂定运行,以暂停渲染当前显示的网页中的各网页动画;
[0087] 其中,指定的系统接口中的参数为第一参数。
[0088] 其中,恢复渲染模块303用于:
[0089] 调用指定的系统接口,控制当前显示的网页中各网页动画的定时器恢复运行,以恢复渲染当前显示的网页中的各网页动画;
[0090] 其中,指定的系统接口中的参数为第二参数。
[0091] 其中,网页动画包括:图像互换格式GIF网页动画和/或脚本语言Javascript网页动画。
[0092] 本公开实施例通过监听针对终端屏幕的滚动事件,并在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画,在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。提高了网页渲染的效率,节省了系统资源。
[0093] 对应于上述示例性实施例提供的网页渲染的装置,本公开另一示例性实施例提供了一种网页渲染的装置500,参见图5。例如,装置500可以是
移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,
个人数字助理等。
[0094] 参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电
力组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,
传感器组件515,以及通信组件516。
[0095] 处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒
体模块,以方便多媒体组件508和处理组件502之间的交互。
[0096] 存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态
随机存取存储器(SRAM),电可擦除可编程
只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0097] 电力组件506为装置500的各种组件提供电力。电力组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
[0098] 多媒体组件508包括在装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括
液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为
触摸屏,以接收来自用户的输入
信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的
光学透镜系统或具有焦距和光学变焦能力。
[0099] 音频组件510被配置为输出和/或输入
音频信号。例如,音频组件510包括一个麦克
风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和
语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0100] I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是
键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和
锁定按钮。
[0101] 传感器组件515包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件515可以检测到设备500的打开/关闭状态,组件的相对
定位,例如组件为装置500的显示器和小键盘,传感器组件515还可以检测装置500或装置500一个组件的
位置改变,用户与装置500
接触的存在或不存在,装置500方位或加速/减速和装置500的
温度变化。传感器组件515可以包括
接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件515还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件515还可以包括加速度传感器,
陀螺仪传感器,
磁传感器,
压力传感器或温度传感器。
[0102] 通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的
广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括
近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于
射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0103] 在示例性实施例中,装置500可以被一个或多个应用专用集成
电路(ASIC)、
数字信号处理器(DSP)、数字
信号处理设备(DSPD)、
可编程逻辑器件(PLD)、现场可编程
门阵列(FPGA)、
控制器、
微控制器、
微处理器或其他
电子元件实现,用于执行上述方法。
[0104] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、
软盘和光数据存储设备等。
[0105] 本公开实施例通过监听针对终端屏幕的滚动事件,并在监听到针对终端屏幕的滚动事件时,暂停渲染当前显示的网页中的各网页动画,在监听到滚动事件结束时,恢复渲染当前显示的网页中的各网页动画。提高了网页渲染的效率,节省了系统资源。
[0106] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本
申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
[0107] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种
修改和改变。本发明的范围仅由所附的权利要求来限制。