CN110928543A - 页面处理方法、装置及存储介质 - Google Patents
页面处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110928543A CN110928543A CN201911067227.7A CN201911067227A CN110928543A CN 110928543 A CN110928543 A CN 110928543A CN 201911067227 A CN201911067227 A CN 201911067227A CN 110928543 A CN110928543 A CN 110928543A
- Authority
- CN
- China
- Prior art keywords
- thread
- page
- style
- type
- target object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Abstract
本公开是关于一种页面处理方法、装置及存储介质,该方法应用于预定平台中,包括:第一类线程获取客户端的加载页面的样式数据,并编译加载页面得到目标对象的对象信息,其中,样式数据包含目标对象的样式布局信息;第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,并基于样式布局信息进行加载页面的页面渲染,其中,第一类线程和第二类线程分别包含至少一条线程。相较于由单一线程执行上述所有的工作,可能会出现对加载页面的渲染过程中发生渲染不及时、甚至掉帧的问题,本公开能够充分利用不同类的线程分别实现不同的功能,及时处理页面渲染相关的数据,降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
Description
技术领域
本公开涉及计算机通信领域,尤其涉及一种页面处理方法、装置及存储介质。
背景技术
目前,在客户端基于网页浏览器(Web browser)进行页面加载的过程中,需要对页面进行渲染,而从超文本标记语言(Hypertext Marked Language,HTML)文件到将加载页面渲染到用户界面(User Interface,UI)上需要经历以下过程:基于HTML文件解析生成相应的对象、对象样式计算、页面布局、页面绘制等。当对象的类名或者对象的身份标识(Identity Document,ID)等发生变化时,又会触发进行对象样式的重新计算、页面重新布局、页面重新绘制,整个渲染过程需要耗费较长的时间。
发明内容
本公开提供一种页面处理方法、装置及存储介质。
根据本公开实施例的第一方面,提供一种页面处理方法,应用于预定平台中,包括:
第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,其中,所述样式数据包含所述目标对象的样式布局信息;
第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,其中,所述第一类线程和所述第二类线程分别包含至少一条线程。
可选的,所述第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,包括:
所述第一类线程的第一线程加载所述加载页面所在客户端的入口文件,对所述入口文件中的样式对象进行序列化处理,得到所述样式数据;
所述第一线程编译所述加载页面,得到所述目标对象的对象信息。
可选的,所述第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,包括:
所述第二类线程的第二线程根据对象信息及所述样式数据,确定所述目标对象的样式布局信息;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染。
可选的,所述目标对象的样式布局信息包括所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染,包括:
所述第三线程基于所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式,对所述加载页面进行渲染。
可选的,所述第一类线程和所述第二类线程属于同一个进程;
其中,所述第一类线程包括主线程;所述第二类线程包括所述第一类线程的子线程。
可选的,所述方法还包括:
所述第一类线程将所述样式数据和所述对象信息,存储至消息处理队列;
所述第二类线程从所述消息处理队列中,获取所述对象信息及所述样式数据。
根据本公开实施例的第二方面,提供一种页面处理装置,应用于预定平台中,包括:
第一编译模块,配置为基于第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,其中,所述样式数据包含所述目标对象的样式布局信息;
确定模块,配置为基于第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,其中,所述第一类线程和所述第二类线程分别包含至少一条线程。
可选的,第一编译模块,具体配置为:
基于所述第一类线程的第一线程加载所述加载页面所在客户端的入口文件,对所述入口文件中的样式对象进行序列化处理,得到所述样式数据;
基于所述第一线程编译所述加载页面,得到所述目标对象的对象信息。
可选的,所述确定模块,具体配置为:
所述第二类线程的第二线程根据对象信息及所述样式数据,确定所述目标对象的样式布局信息;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染。
可选的,所述目标对象的样式布局信息包括所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式;
所述确定模块,还具体配置为:
所述第三线程基于所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式,对所述加载页面进行渲染。
可选的,所述第一类线程和所述第二类线程属于同一个进程;
其中,所述第一类线程包括主线程;所述第二类线程包括所述第一类线程的子线程。
可选的,所述装置还包括:
存储模块,配置为基于所述第一类线程将所述样式数据和所述对象信息,存储至消息处理队列;
获取模块,配置为基于所述第二类线程从所述消息处理队列中,获取所述对象信息及所述样式数据。
据本公开实施例的第三方面,提供一种页面处理装置,包括:
处理器;
配置为存储处理器可执行指令的存储器;
其中,所述处理器配置为:执行时实现上述第一方面中的页面处理方法中的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由页面处理装置的处理器执行时,使得所述装置能够执行上述第一方面中的页面处理方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开通过第一类线程获取客户端的加载页面的样式数据,编译加载页面得到目标对象的对象信息,并通过第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,以基于样式布局信息进行加载页面的页面渲染。这样,能够分别基于第一类线程和第二类线程实现不同的功能,第一类线程和第二类线程不同,因此在本申请实施例中,至少利用了两个线程对页面进行渲染处理。且由每一类线程负责与其相应的工作,如第一类线程负责加载页面的编译,而第二类线程负责根据编译得到的数据进行进一步的计算处理。
相较于在由单一线程执行上述所有的工作,可能会出现对加载页面的渲染过程中发生渲染不及时、甚至掉帧的问题,本公开中能够充分利用不同类的线程分别实现不同的功能,不仅能够减少程序在第一类线程上执行的时间,还能及时处理页面渲染相关的数据,降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的页面处理方法的流程图一。
图2是根据一示例性实施例示出的页面处理方法的流程图二。
图3是根据一示例性实施例示出的页面处理方法的流程图三。
图4是根据一示例性实施例示出的一种页面处理装置框图。
图5是根据一示例性实施例示出的一种页面处理装置的硬件结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的页面处理方法的流程图一,如图1所示,该方法应用于预定平台中,包括以下步骤:
在步骤101中,第一类线程获取客户端的加载页面的样式数据,并编译加载页面得到目标对象的对象信息,其中,样式数据包含目标对象的样式布局信息。所述第一类线程可包括一个或多个线程。
在步骤102中,第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,并基于样式布局信息进行加载页面的页面渲染,其中,第一类线程和第二类线程分别包含至少一条线程。
这里,目标对象可以包括文档对象模型(Document Object Model,DOM)对象或者抽象语法树(Abstract Syntax Tree,AST)对象,其中,DOM对象定义了访问HTML文档对象的一套属性、方法和事件,AST是源代码语法结构的一种抽象表示,AST能以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。其中,客户端可以包括快应用或小程序,预定平台包括与客户端相对应的平台,例如,如果客户端是快应用,则预定平台可以为快应用平台,如果客户端是小程序,则预定平台可以为小程序运行平台。总之,在本公开例中所述客户端均可为如快应用或者小程序等由云端运行的客户端。
这里,快应用是一种基于手机硬件平台的新型应用形态,用户无需下载安装,即点即用。其中,快应用框架深度集成在终端设备的操作系统中,可以在终端设备的操作系统的层面形成用户需求与应用服务的无缝衔接,很多只用在原生应用中才能使用的功能,在快应用中也可以很方便的实现,可以享受原生应用的性能体验。其中,快应用的运行由快应用平台来执行,并在快应用前端进行运行结果的显示,快应用前端还可以用于接收快应用运行指令。例如,如果基于快应用前端接收到了针对于该快应用的点击操作,则具体执行点击操作的过程由快应用平台来执行。所以,实际运行快应用的过程主要基于快应用平台和快应用前端所构建的网络架构中来实现的。
而小程序是一种不需要下载安装即可使用的应用,小程序能够实现消息通知、线下扫码、公众号关联等功能,其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。
以快应用为例,在运行快应用,并进行页面加载的时候,可以基于第一类线程获取快应用的加载页面的样式数据,并编译加载页面得到目标对象的对象信息。其中,样式数据包含目标对象的样式布局信息,即样式数据包含对目标对象进行样式计算所需的所有数据。对象信息可以包括用户表征目标对象与样式布局信息之间的关联关系的设定标识,基于该设定标识能够从样式数据中获取与目标对象对应的样式布局信息。目标对象的样式布局信息包括目标对象在加载页面中的位置及目标对象在加载页面中的显示样式,其中,目标对象在加载页面的位置可以用目标对象在加载页面上的横坐标和纵坐标来表示,目标对象在加载页面中的显示样式可以基于目标对象的属性信息来表示,例如,目标对象的尺寸、颜色和功能等。
在得到样式数据和目标对象的样式布局信息之后,可以基于第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,并基于样式布局信息进行加载页面的页面渲染。由于第二类线程包含至少一条线程,这里,如果第二类线程包含一条线程,则可以基于该一条线程确定出目标对象的布局信息,并基于样式布局信息进行加载页面的页面渲染;如果第二类线程包含两条线程,则可以基于其中一条线程确定出目标对象的样式布局信息,基于另一条线进行加载页面的页面渲染。
本公开实施例中,能够分别基于第一类线程和第二类线程实现不同的功能,第一类线程和第二类线程不同,因此在本申请实施例中,至少利用了两个线程对页面进行渲染处理。且由每一类线程负责与其相应的工作,如第一类线程负责加载页面的编译,而第二类线程负责根据编译得到的数据进行进一步的计算处理,相较于由单一线程执行上述所有的工作,可能会出现对加载页面的渲染过程中发生渲染不及时、甚至掉帧的问题,本公开中能够充分利用不同类的线程分别实现不同的功能,不仅能够减少程序在第一类线程上执行的时间,还能及时处理页面渲染相关的数据,降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
在其他可选的实施例中,第一类线程获取客户端的加载页面的样式数据,并编译加载页面得到目标对象的对象信息,包括:
第一类线程的第一线程加载该加载页面所在客户端的入口文件,对入口文件中的样式对象进行序列化处理,得到样式数据;
第一线程编译加载页面,得到目标对象的对象信息。
这里,入口文件可以为设定类型的文件,例如JS文件,由于快应用的安装包内的每个页面包含一个JS文件,例如index.js文件。以入口文件为index.js文件、目标对象为DOM对象为例,快应用的页面在加载时,会将index.js文件里包含的样式对象进行序列化处理,得到样式数据。快应用框架根据index.js文件内的AST对加载页面进行编译,并对编译出的DOM对象进行序列化处理,得到对象信息,其中,AST是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
这里,通过将样式对象和目标对象进行序列化处理,进而将表征状态信息的对象转化为可以进行存储和传输的样式数据和对象信息,例如,将样式对象和目标对象转化为字符串的形式,这样,就能够实现快应用平台直接对样式数据和对象信息进行处理。
在其他可选的实施例中,第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,并基于样式布局信息进行加载页面的页面渲染,包括:
第二类线程的第二线程根据对象信息及样式数据,确定目标对象的样式布局信息;
第二类线程的第三线程根据样式布局信息进行加载页面的渲染。
这里,该方法还包括,第二线程从第一线程获取样式数据,对获取的样式数据进行注册;对应地,第二类线程的第二线程根据对象信息及样式数据,确定目标对象的样式布局信息,包括:根据注册的样式数据对对象信息所对应的目标对象进行样式计算,进而确定目标对象的样式布局信息。然后,第三线程根据样式布局信息,对加载页面进行渲染。
这里,第一线程、第二线程和第三线程分别负责不同的工作,能够充分利用三条线程的资源,相较于在一条线程上执行所有的工作,能够及时对页面渲染相关的数据进行处理,在处理复杂的业务逻辑时,能够充分利用不同类的线程分别实现不同的功能,不仅能够减少程序在第一类线程上执行的时间,还能及时处理页面渲染相关的数据,降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
在其他可选的实施例中,目标对象的样式布局信息包括目标对象在加载页面中的位置及目标对象在加载页面中的显示样式;
第二类线程的第三线程根据样式布局信息进行加载页面的渲染,包括:
第三线程基于目标对象在加载页面中的位置及目标对象在加载页面中的显示样式,对加载页面进行渲染。
这里,目标对象在加载页面的位置可以用目标对象在加载页面上的横坐标和纵坐标来表示,目标对象在加载页面中的显示样式可以基于目标对象的属性信息来表示,例如,目标对象的尺寸、颜色和功能等。本公开中,第三线程可以基于目标对象在加载页面中的位置及目标对象在加载页面中的显示样式,对加载页面进行渲染。通过第一线程实现加载页面的编译过程并进行逻辑事件的处理,通过第二线程对目标对象的样式进行计算,并通过第三线程实现加载页面的渲染,能够在不同的线程上实现不同的功能,相较于将上述所有的功能在一条线程上实现,能够提高处理页面渲染相关数据的及时性,并降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
在其他可选的实施例中,第一类线程和第二类线程属于同一个进程;
其中,第一类线程包括主线程;第二类线程包括第一类线程的子线程。
这里,基于进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,是比进程更小的能独立运行的基本单位。这样,可以通过设置子线程对主线程上的工作进行分担,实现多线程运行,能够减少主线程的工作量,相较于由主线程执行所有工作的情况,本公开中能够基于不用的线程执行不同的工作,减少程序在主线程上的执行时间,并通过子线程及时处理页面渲染相关的数据,降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。
在其他可选的实施例中,该方法还包括:
第一类线程将样式数据和对象信息,存储至消息处理队列;
第二类线程从消息处理队列中,获取对象信息及样式数据。
在其他可选的实施例中,客户端为:快应用或小程序。
这里,消息处理队列可以包括用于存储运行方法的队列(action队列),通过将样式数据和对象信息,存储至消息处理队列,这样第二类线程就能够按照设定顺序,从消息处理队列中,获取对象信息及样式数据。通过设置消息处理队列,能够实现样式数据和对象信息的存取有序进行,以减少数据丢失或者输出传输错误的概率,提高页面渲染的精确性。
在其他可选的实施例中,快应用应用程序包(rpk包)内的每个页面文件(Page)包含一个index.js文件,快应用的页面在加载时会将index.js里包含的样式对象进行序列化处理,并将序列化处理后得到的样式数据缓存在消息处理队列内,其中,rpk包为后缀名是rpk的文件。快应用框架会根据index.js内的AST对加载页面进行编译,并对编译出的DOM对象进行序列化处理,并将序列化处理后得到的对象信息缓存在消息处理队列内,上述步骤可以在第一线程执行,其中,AST是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。当AST编译结束之后,将消息处理队列中缓存的样式数据核对象信息统一发送至本地程序,其中,本地程序为在快应用运行的过程中能够启动线程的程序,可以由原生代码生成,基于本地操作系统运行。本地程序会再启动一条线程(相当于第二线程),然后在布局和绘制前注册消息处理队列发来的样式数据,并对每一个DOM对象进行样式计算,得到样式布局信息。再将计算好样式布局信息发送至布局和绘制线程,以使布局和绘制线程进行剩余的渲染工作,其中,布局和绘制线程相当于第三线程。
图2是根据一示例性实施例示出的页面处理方法的流程图二,如图2所示,以目标对象是DOM对象为例,可以基于主线程201发送样式并初始化DOM,得到样式数据和对象信息,然后基于样式数据进行样式注册,对DOM对象进行样式计算,并将计算得到的样式布局信息发送给另一线程202,另一线程202基于该样式布局信息进行页面的布局和绘制,以实现页面的渲染。其中,样式数据是主线程201对样式对象进行序列化处理得到的,对象信息是主线程201对DOM对象进行序列化处理得到的,在进行页面渲染的过程中,如果主线程201接收到对应的编辑操作,这时,就需要对对象信息进行修改,并更新对象信息,对DOM对象的样式进行重新计算,而不需要重新注册样式数据。其中,DOM对象可以有多个,例如,DOM1、DOM2、…DOMN,所接收到的编辑操作也可以有多个,例如,操作1、操作2、…操作N,其中,N为正整数。
图3是根据一示例性实施例示出的页面处理方法的流程图三,如图3所示,以目标对象是DOM对象为例,第一线程301发送样式并初始化DOM,得到样式数据和对象信息,然后将样式数据和对象信息发送至第二线程302,第二线程302基于接收到的样式数据进行样式注册,并对对象信息所对应的DOM对象的样式计算,得到样式布局信息,然后将样式布局信息发送至第三线程303,第三线程303基于样式布局信息进行页面的布局和绘制,以实现页面的渲染。其中,样式数据是第一线程301对样式对象进行序列化处理得到的,对象信息是第一线程301对DOM对象进行序列化处理得到的,在进行页面渲染的过程中,如果第一线程301接收到对应的编辑操作,这时,就需要对对象信息进行修改,并更新对象信息,对DOM对象的样式进行重新计算,而不需要重新注册样式数据。其中,DOM对象可以有多个,例如,DOM1、DOM2、…DOMN,所接收到的编辑操作也可以有多个,例如,操作1、操作2、…操作N,其中,N为正整数。
这里,相较于图2中进行页面渲染的方法,图3中所涉及的技术方案能够充分利用不同线程分别实现不同的功能,及时处理页面渲染相关的数据,能够降低产生卡顿、掉帧等逻辑错误的概率,进而提高渲染过程的可靠性。对于复杂的业务逻辑,三条线程都能够充分地利用,由每一条线程负责相应的工作,能有效地解决卡顿和掉帧的问题。
图4是根据一示例性实施例示出的一种页面处理装置框图。如图4所示,该页面处理装置400主要包括:
第一编译模块401,配置为基于第一类线程获取客户端的加载页面的样式数据,并编译加载页面得到目标对象的对象信息,其中,样式数据包含目标对象的样式布局信息;
确定模块402,配置为基于第二类线程根据对象信息及样式数据,确定出目标对象的样式布局信息,并基于样式布局信息进行加载页面的页面渲染,其中,第一类线程和第二类线程分别包含至少一条线程。
在其他可选的实施例中,第一编译模块401,具体配置为:
基于第一类线程的第一线程加载该加载页面所在客户端的入口文件,对入口文件中的样式对象进行序列化处理,得到样式数据;
基于第一线程编译加载页面,得到目标对象的对象信息。
在其他可选的实施例中,确定模块402,具体配置为:
第二类线程的第二线程根据对象信息及样式数据,确定目标对象的样式布局信息;
第二类线程的第三线程根据样式布局信息进行加载页面的渲染。
在其他可选的实施例中,目标对象的样式布局信息包括目标对象在加载页面中的位置及目标对象在加载页面中的显示样式;
确定模块402,还具体配置为:
第三线程基于目标对象在加载页面中的位置及目标对象在加载页面中的显示样式,对加载页面进行渲染。
在其他可选的实施例中,第一类线程和第二类线程属于同一个进程;
其中,第一类线程包括主线程;第二类线程包括第一类线程的子线程。
在其他可选的实施例中,装置400还包括:
存储模块,配置为基于第一类线程将样式数据和对象信息,存储至消息处理队列;
获取模块,配置为基于第二类线程从消息处理队列中,获取对象信息及样式数据。
在其他可选的实施例中,客户端为:快应用或小程序。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种页面处理装置500的硬件结构框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件506为装置500的各种组件提供电力。电力组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或5G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由页面处理装置的处理器执行时,使得页面处理装置能够执行一种页面处理方法,所述方法包括:
第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,其中,所述样式数据包含所述目标对象的样式布局信息;
第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,其中,所述第一类线程和所述第二类线程分别包含至少一条线程。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种页面处理方法,其特征在于,应用于预定平台中,包括:
第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,其中,所述样式数据包含所述目标对象的样式布局信息;
第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,其中,所述第一类线程和所述第二类线程分别包含至少一条线程。
2.根据权利要求1所述的方法,其特征在于,
所述第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,包括:
所述第一类线程的第一线程加载所述加载页面所在客户端的入口文件,对所述入口文件中的样式对象进行序列化处理,得到所述样式数据;
所述第一线程编译所述加载页面,得到所述目标对象的对象信息。
3.根据权利要求1或2所述的方法,其特征在于,
所述第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,包括:
所述第二类线程的第二线程根据对象信息及所述样式数据,确定所述目标对象的样式布局信息;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染。
4.根据权利要求3所述的方法,其特征在于,所述目标对象的样式布局信息包括所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染,包括:
所述第三线程基于所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式,对所述加载页面进行渲染。
5.根据权利要求1或2所述的方法,其特征在于,
所述第一类线程和所述第二类线程属于同一个进程;
其中,所述第一类线程包括主线程;所述第二类线程包括所述第一类线程的子线程。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一类线程将所述样式数据和所述对象信息,存储至消息处理队列;
所述第二类线程从所述消息处理队列中,获取所述对象信息及所述样式数据。
7.一种页面处理装置,其特征在于,应用于预定平台中,包括:
第一编译模块,配置为基于第一类线程获取客户端的加载页面的样式数据,并编译所述加载页面得到目标对象的对象信息,其中,所述样式数据包含所述目标对象的样式布局信息;
确定模块,配置为基于第二类线程根据所述对象信息及所述样式数据,确定出所述目标对象的样式布局信息,并基于所述样式布局信息进行所述加载页面的页面渲染,其中,所述第一类线程和所述第二类线程分别包含至少一条线程。
8.根据权利要求7所述的装置,其特征在于,
第一编译模块,具体配置为:
基于所述第一类线程的第一线程加载所述加载页面所在客户端的入口文件,对所述入口文件中的样式对象进行序列化处理,得到所述样式数据;
基于所述第一线程编译所述加载页面,得到所述目标对象的对象信息。
9.根据权利要求7或8所述的装置,其特征在于,所述确定模块,具体配置为:
所述第二类线程的第二线程根据对象信息及所述样式数据,确定所述目标对象的样式布局信息;
所述第二类线程的第三线程根据所述样式布局信息进行所述加载页面的渲染。
10.根据权利要求9所述的装置,其特征在于,所述目标对象的样式布局信息包括所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式;
所述确定模块,还具体配置为:
所述第三线程基于所述目标对象在所述加载页面中的位置及所述目标对象在所述加载页面中的显示样式,对所述加载页面进行渲染。
11.根据权利要求7或8所述的装置,其特征在于,
所述第一类线程和所述第二类线程属于同一个进程;
其中,所述第一类线程包括主线程;所述第二类线程包括所述第一类线程的子线程。
12.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
存储模块,配置为基于所述第一类线程将所述样式数据和所述对象信息,存储至消息处理队列;
获取模块,配置为基于所述第二类线程从所述消息处理队列中,获取所述对象信息及所述样式数据。
13.一种页面处理装置,其特征在于,包括:
处理器;
配置为存储处理器可执行指令的存储器;
其中,所述处理器配置为:执行时实现上述权利要求1至6中任一种页面处理方法中的步骤。
14.一种非临时性计算机可读存储介质,当所述存储介质中的指令由页面处理装置的处理器执行时,使得所述装置能够执行上述权利要求1至6中任一种页面处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067227.7A CN110928543A (zh) | 2019-11-04 | 2019-11-04 | 页面处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067227.7A CN110928543A (zh) | 2019-11-04 | 2019-11-04 | 页面处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928543A true CN110928543A (zh) | 2020-03-27 |
Family
ID=69852304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067227.7A Pending CN110928543A (zh) | 2019-11-04 | 2019-11-04 | 页面处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928543A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581555A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN112035768A (zh) * | 2020-08-27 | 2020-12-04 | 深圳市欢太科技有限公司 | 快应用的页面渲染方法、装置、存储介质及电子设备 |
CN112182453A (zh) * | 2020-09-30 | 2021-01-05 | 北京字节跳动网络技术有限公司 | 一种数据加载方法、装置、计算机设备及存储介质 |
CN112231619A (zh) * | 2020-10-15 | 2021-01-15 | 北京三快在线科技有限公司 | 转换方法、装置、电子设备及存储介质 |
CN113849248A (zh) * | 2021-09-28 | 2021-12-28 | 北京京东振世信息技术有限公司 | 小程序加载方法、设备、存储介质及程序产品 |
CN114896531A (zh) * | 2022-04-27 | 2022-08-12 | 北京聚通达科技股份有限公司 | 图像处理的方法、装置、电子设备及存储介质 |
CN117130688A (zh) * | 2023-09-06 | 2023-11-28 | 南京荣耀软件技术有限公司 | 快应用卡片加载方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150220502A1 (en) * | 2014-01-31 | 2015-08-06 | Yahoo! Inc. | Compressed serialization of data for communication from a client-side application |
CN105022667A (zh) * | 2014-04-25 | 2015-11-04 | 中国科学院声学研究所 | 一种基于嵌入式浏览器css引擎并行化方法 |
CN108021614A (zh) * | 2017-08-18 | 2018-05-11 | 口碑(上海)信息技术有限公司 | 一种用于页面动态加载的方法及系统 |
-
2019
- 2019-11-04 CN CN201911067227.7A patent/CN110928543A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150220502A1 (en) * | 2014-01-31 | 2015-08-06 | Yahoo! Inc. | Compressed serialization of data for communication from a client-side application |
CN105022667A (zh) * | 2014-04-25 | 2015-11-04 | 中国科学院声学研究所 | 一种基于嵌入式浏览器css引擎并行化方法 |
CN108021614A (zh) * | 2017-08-18 | 2018-05-11 | 口碑(上海)信息技术有限公司 | 一种用于页面动态加载的方法及系统 |
Non-Patent Citations (1)
Title |
---|
葛春良: "嵌入式浏览器多线程机制的研究与实现" * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581555A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN111581555B (zh) * | 2020-04-27 | 2023-09-15 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN112035768A (zh) * | 2020-08-27 | 2020-12-04 | 深圳市欢太科技有限公司 | 快应用的页面渲染方法、装置、存储介质及电子设备 |
CN112182453A (zh) * | 2020-09-30 | 2021-01-05 | 北京字节跳动网络技术有限公司 | 一种数据加载方法、装置、计算机设备及存储介质 |
CN112231619A (zh) * | 2020-10-15 | 2021-01-15 | 北京三快在线科技有限公司 | 转换方法、装置、电子设备及存储介质 |
CN113849248A (zh) * | 2021-09-28 | 2021-12-28 | 北京京东振世信息技术有限公司 | 小程序加载方法、设备、存储介质及程序产品 |
CN113849248B (zh) * | 2021-09-28 | 2023-09-26 | 北京京东振世信息技术有限公司 | 小程序加载方法、设备、存储介质及程序产品 |
CN114896531A (zh) * | 2022-04-27 | 2022-08-12 | 北京聚通达科技股份有限公司 | 图像处理的方法、装置、电子设备及存储介质 |
CN114896531B (zh) * | 2022-04-27 | 2023-03-24 | 北京聚通达科技股份有限公司 | 图像处理的方法、装置、电子设备及存储介质 |
CN117130688A (zh) * | 2023-09-06 | 2023-11-28 | 南京荣耀软件技术有限公司 | 快应用卡片加载方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928543A (zh) | 页面处理方法、装置及存储介质 | |
CN106569800B (zh) | 前端界面生成方法及装置 | |
CN109032606B (zh) | 原生应用程序的编译处理方法、装置及终端 | |
EP2998899A1 (en) | Method and apparatus for running application program | |
US9870239B2 (en) | Method and device for running application program | |
US10817282B2 (en) | Application configuration file generation method and apparatus, application page display method and apparatus and storage medium | |
CN110874217B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN107423106B (zh) | 支持多框架语法的方法和装置 | |
CN111026490B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
US10909203B2 (en) | Method and device for improving page display effect via execution, conversion and native layers | |
CN110990105B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN105808305B (zh) | 静态资源的加载方法和装置 | |
CN106547547B (zh) | 数据采集方法及装置 | |
CN111026491A (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
US20180365038A1 (en) | Display method and device of application interface | |
CN109117144B (zh) | 页面处理方法、装置、终端及存储介质 | |
CN111078325B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
US11210449B2 (en) | Page display method and device and storage medium | |
CN111695064B (zh) | 一种埋点加载方法及装置 | |
CN111008050B (zh) | 页面任务执行方法、装置、终端及存储介质 | |
CN111079040B (zh) | 资源嗅探方法、装置、终端、服务器及存储介质 | |
CN112839065B (zh) | 信息处理方法、装置、第一设备及存储介质 | |
CN109976872B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109491655B (zh) | 一种输入事件处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |