CN105045593B - 用于绘制页面的方法和装置 - Google Patents
用于绘制页面的方法和装置 Download PDFInfo
- Publication number
- CN105045593B CN105045593B CN201510456926.6A CN201510456926A CN105045593B CN 105045593 B CN105045593 B CN 105045593B CN 201510456926 A CN201510456926 A CN 201510456926A CN 105045593 B CN105045593 B CN 105045593B
- Authority
- CN
- China
- Prior art keywords
- control
- page
- caching
- drawn
- tree
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本发明提供了一种用于绘制页面的方法和装置。其中,该方法包括以下步骤:从所述页面的缓存中删除第一控件;将需绘制的第二控件加入所述缓存中;基于所述缓存,绘制所述页面。与现有技术相比,本发明通过从缓存中删除第一控件,将需绘制的第二控件加入所述缓存中,并基于所述缓存,绘制所述页面,从而解决了页面绘制时所存在的花屏问题,改善了用户体验。
Description
技术领域
本发明涉及计算机设备领域,尤其涉及一种用于绘制页面的方法和装置。
背景技术
现有技术中,在某些android***中,例如android 5.0 nexus5手机中,当使用了android***所提供的webview控件并将该webview控件销毁(destroy)之后,在其他界面自定义控件进行绘制操作(例如调用onDraw函数来进行绘制时),该绘制操作将导致页面间切换(或页面刷新)出现全屏或局部花屏现象。上述花屏现象是一个需要解决的问题。
发明内容
本发明的目的是提供一种用于绘制页面的方法和装置。
根据本发明的一个方面,提供一种用于绘制页面的方法,其中,该方法包括以下步骤:
-从页面的缓存中删除第一控件;
-将需绘制的第二控件加入所述缓存中;
-基于所述缓存,绘制所述页面。
根据本发明的另一个方面,提供一种用于绘制页面的装置,其中,该装置包括:
-用于从页面的缓存中删除第一控件的装置;
-用于将需绘制的第二控件加入所述缓存中的装置;
-用于基于所述缓存,绘制所述页面的装置。
与现有技术相比,本发明通过从缓存中删除第一控件,将需绘制的第二控件加入所述缓存中,并基于所述缓存,绘制所述页面,从而解决了页面绘制时所存在的花屏问题,改善了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的实施例的用于绘制页面的方法的流程图;
图2示出根据本发明另一个方面的实施例的用于绘制页面的装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的实施例的用于绘制页面的方法的流程图。
其中,本实施例的方法既可以通过用户设备来实现,也可以通过网络设备来实现。其中,所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA等。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
需要说明的是,所述网络设备以及所述用户设备仅为举例,其他现有的或今后可能出现的网络设备和用户设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
首先,在步骤S11中,将从页面的缓存中删除第一控件。此处,第一控件可以为android***所提供的webview控件。具体地,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取页面的缓存,并在该页面的缓存中搜索第一控件,然后将该第一控件从该页面的缓存中删除。在一个实施例中,还可以将该第一控件在该页面的缓存中所处在的位置记录下来。
接着,在步骤S12中,将需绘制的第二控件加入该缓存中,此处,第二控件可以为任意类型控件,例如自定义控件。具体地,如上文所述,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取页面的缓存。并且,可以根据绘制的实际需要确定第二控件在该页面的缓存中应处于的位置,并可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来将该第二控件加入该页面的缓存中。
接着,在步骤S13中,将基于该缓存,绘制该页面。具体地,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来基于该缓存绘制该页面。
由于第一控件已经从该页面的缓存中删除,因此,该第一控件将不会对该页面的绘制造成影响,从而不会由于第一控件的影响而出现页面的花屏问题。
在一个优选实施例中,可以当第一控件不应被绘制时,从页面的缓存中删除该第一控件。
此处,第一控件不应被绘制指该第一控件不应在该页面中被显示出来。例如,该第一控件曾经显示在该页面中,之后该第一控件被销毁,然而该第一控件将仍然存在于该页面的缓存中。此时,可以按照上文所述的方法,从该页面的缓存中删除该第一控件。
在一个优选实施例中,可以首先获取该页面的缓存中的树状结构,其中,该树状结构包含第一控件。然后可以从该树状结构中删除该第一控件。
具体地,当页面缓存以树状结构来存储各个控件时,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取该页面的缓存中的树状结构,其中,该树状结构包含第一控件。当获取了该树状结构后,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式通过在该树状结构中进行查找以得到该第一控件,然后将该第一控件从该树状结构中删除。
在一个优选实施例中,在步骤S12中,可以将需绘制的第二控件加入该页面的缓存中的树状结构中。具体地,如上文所述,当页面缓存中以树状结构来存储各个控件时,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取该页面的缓存中的树状结构,然后可以根据实际需要来确定第二控件在该树状结构中的位置,并将该第二控件加入到该树状结构的该位置处。
在一个优选实施例中,当页面绘制完成后,还可以将所述第一控件加入该页面的缓存中该第一控件在被删除之前所处在的位置。具体地,在步骤S11中,当从页面的缓存中删除第一控件时,还可以将该第一控件在该页面的缓存中所处在的位置记录下来。从而,当该页面绘制完成后,可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式将该第一控件加入该页面的缓存中该第一控件在被删除之前所处在的位置。
在一个实施例中,本发明所公开的方法用于android***,其中,第一控件为由android***所提供的webview控件。
本领域技术人员应理解,此处,对于本方法所用于的***以及第一控件的相关描述仅为示例性而非限定性描述。
图2示出根据本发明一个方面的实施例的用于绘制页面的装置的示意图。其中,该用于绘制页面的装置包括用于从页面的缓存中删除第一控件的装置21,以下简称第一删除装置21;用于将需绘制的第二控件加入所述缓存中的装置22,以下简称第一加入装置22;以及用于基于所述缓存,绘制所述页面的装置23,以下简称绘制装置23。
其中,本实施例的装置既可以通过用户设备来实现,也可以通过网络设备来实现。其中,所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA等。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
需要说明的是,所述网络设备以及所述用户设备仅为举例,其他现有的或今后可能出现的网络设备和用户设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
首先,第一删除装置21将从页面的缓存中删除第一控件。此处,第一控件可以为android***所提供的webview控件。具体地,第一删除装置21可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取页面的缓存,并在该页面的缓存中搜索第一控件,然后将该第一控件从该页面的缓存中删除。在一个实施例中,第一删除装置21还可以将该第一控件在该页面的缓存中所处在的位置记录下来。
接着,第一加入装置22将需绘制的第二控件加入该缓存中,此处,第二控件可以为任意类型控件,例如自定义控件。具体地,如上文所述,第一加入装置22可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取页面的缓存。并且,第一加入装置22可以根据绘制的实际需要确定第二控件在该页面的缓存中应处于的位置,并可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来将该第二控件加入该页面的缓存中。
接着,绘制装置23将基于该缓存,绘制该页面。具体地,绘制装置23可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来基于该缓存绘制该页面。
由于第一控件已经从该页面的缓存中删除,因此,该第一控件将不会对该页面的绘制造成影响,从而不会由于第一控件的影响而出现页面的花屏问题。
在一个优选实施例中,第一删除装置21中包括用于当第一控件不应被绘制时,从页面的缓存中删除所述第一控件的装置,以下简称第二删除装置211(未示出)。
第二删除装置211可以当第一控件不应被绘制时,从页面的缓存中删除该第一控件。
此处,第一控件不应被绘制指该第一控件不应在该页面中被显示出来。例如,该第一控件曾经显示在该页面中,之后该第一控件被销毁,然而该第一控件将仍然存在于该页面的缓存中。此时,第二删除装置211可以按照上文所述的方法,从该页面的缓存中删除该第一控件。
在一个优选实施例中,第一删除装置21中包括用于获取页面的缓存中的树状结构,其中,所述树状结构包含第一控件的装置,以下简称获取装置212(未示出);以及用于从所述树状结构中删除所述第一控件的装置,以下简称第三删除装置213(未示出)。
获取装置212可以首先获取该页面的缓存中的树状结构,其中,该树状结构包含第一控件。然后第三删除装置213可以从该树状结构中删除该第一控件。
具体地,当页面缓存以树状结构来存储各个控件时,获取装置212可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取该页面的缓存中的树状结构,其中,该树状结构包含第一控件。当获取装置212获取了该树状结构后,第三删除装置213可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式通过在该树状结构中进行查找以得到该第一控件,然后将该第一控件从该树状结构中删除。
在一个优选实施例中,第一加入装置22中包括用于将需绘制的第二控件加入所述树状结构中的装置,以下简称第二加入装置221(未示出)。
第二加入装置221可以将需绘制的第二控件加入该页面的缓存中的树状结构中。具体地,如上文所述,当页面缓存中以树状结构来存储各个控件时,第二加入装置221可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式来获取该页面的缓存中的树状结构,然后第二加入装置221可以根据实际需要来确定第二控件在该树状结构中的位置,并将该第二控件加入到该树状结构的该位置处。
在一个优选实施例中,该用于绘制页面的装置还包括用于将所述第一控件加入所述缓存中该第一控件在被删除之前所处在的位置的装置,以下简称第四加入装置24(未示出)。
当页面绘制完成后,第四加入装置24可以将所述第一控件加入该页面的缓存中该第一控件在被删除之前所处在的位置。具体地,当第一删除装置21从页面的缓存中删除第一控件时,还可以将该第一控件在该页面的缓存中所处在的位置记录下来。从而,当该页面绘制完成后,第四加入装置24可以通过调用操作***所提供的***函数,或编程语言所提供的库函数等现有技术所支持的方式将该第一控件加入该页面的缓存中该第一控件在被删除之前所处在的位置。
在一个实施例中,本发明所公开的装置用于android***,其中,第一控件为由android***所提供的webview控件。
本领域技术人员应理解,此处,对于本发明所用于的***以及第一控件的相关描述仅为示例性而非限定性描述。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (8)
1.一种用于绘制页面的方法,其中,该方法包括:
-从页面的缓存中删除第一控件,其中包括:
-当第一控件不应被绘制时,从页面的缓存中删除所述第一控件,其中,所述第一控件不应被绘制包括:所述第一控件不应在所述页面中被显示出来;
-将需绘制的第二控件加入所述缓存中;
-基于所述缓存,绘制所述页面;
其中,从页面的缓存中删除第一控件的步骤包括:
-获取页面的缓存中的树状结构,其中,所述树状结构包含第一控件;
-从所述树状结构中删除所述第一控件。
2.根据权利要求1所述的方法,其中,所述将需绘制的第二控件加入所述缓存中的步骤包括:
-将需绘制的第二控件加入所述树状结构中。
3.根据权利要求1至2中任一项所述的方法,其中,所述方法还包括:
-将所述第一控件加入所述缓存中该第一控件在被删除之前所处在的位置。
4.根据权利要求1至2中任一项所述的方法,其中,所述方法用于android操作***,所述第一控件为webview控件。
5.一种用于绘制页面的装置,其中,该装置包括:
-用于从页面的缓存中删除第一控件的装置,其中包括:
-用于当第一控件不应被绘制时,从页面的缓存中删除所述第一控件的装置,其中,所述第一控件不应被绘制包括:
所述第一控件不应在所述页面中被显示出来;
-用于将需绘制的第二控件加入所述缓存中的装置;
-用于基于所述缓存,绘制所述页面的装置;
其中,所述用于从页面的缓存中删除第一控件的装置包括:
-用于获取页面的缓存中的树状结构的装置,其中,所述树状结构包含第一控件;
-用于从所述树状结构中删除所述第一控件的装置。
6.根据权利要求5所述的装置,其中,所述用于将需绘制的第二控件加入所述缓存中的装置包括:
-用于将需绘制的第二控件加入所述树状结构中的装置。
7.根据权利要求5至6中任一项所述的装置,其中,所述装置还包括:
-用于将所述第一控件加入所述缓存中该第一控件在被删除之前所处在的位置的装置。
8.根据权利要求5至6中任一项所述的装置,其中,所述装置用于android操作***,所述第一控件为webview控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510456926.6A CN105045593B (zh) | 2015-07-29 | 2015-07-29 | 用于绘制页面的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510456926.6A CN105045593B (zh) | 2015-07-29 | 2015-07-29 | 用于绘制页面的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105045593A CN105045593A (zh) | 2015-11-11 |
CN105045593B true CN105045593B (zh) | 2019-05-10 |
Family
ID=54452158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510456926.6A Active CN105045593B (zh) | 2015-07-29 | 2015-07-29 | 用于绘制页面的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105045593B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001265481A (ja) * | 2000-03-21 | 2001-09-28 | Nec Corp | ページ情報表示方法及び装置並びにページ情報表示用プログラムを記憶した記憶媒体 |
CN101325602A (zh) * | 2008-07-30 | 2008-12-17 | 广州市动景计算机科技有限公司 | 一种微浏览器智能预读网页的方法及*** |
CN101714161A (zh) * | 2009-12-23 | 2010-05-26 | 上海全景数字技术有限公司 | 一种嵌入式浏览器缓存装置和方法 |
CN102158667B (zh) * | 2010-09-21 | 2013-01-02 | 青岛海信传媒网络技术有限公司 | 基于控件原理的图标管理方法及设备 |
CN102033917A (zh) * | 2010-12-09 | 2011-04-27 | 广州市动景计算机科技有限公司 | 移动终端的网页浏览方法及应用该方法的移动终端 |
-
2015
- 2015-07-29 CN CN201510456926.6A patent/CN105045593B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105045593A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3161668B1 (en) | Batch-optimized render and fetch architecture | |
US9665960B1 (en) | Image-based item location identification | |
US9519401B2 (en) | Providing context menu based on predicted commands | |
CN109446570B (zh) | 业务流程展示方法、装置、计算机设备以及存储介质 | |
US20110249002A1 (en) | Manipulation and management of links and nodes in large graphs | |
KR20080107444A (ko) | 그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품 | |
CN104572845B (zh) | 文件分发方法、装置、设备及*** | |
CN109522332A (zh) | 客户信息数据合并方法、装置、设备及可读存储介质 | |
CN104883384B (zh) | 一种为轻应用提供客户端的端能力的方法与装置 | |
KR101773781B1 (ko) | 웹 기반의 사용자 지향적 데이터 시각화 방법 및 장치 | |
CN105900121A (zh) | 用于生成活动流的方法 | |
CN107766106B (zh) | 生成配置文件的方法和装置 | |
CN103927356A (zh) | 广告拦截方法及装置 | |
CN109033549A (zh) | 室内装修方案的设计方法、设计***、及电子设备 | |
US8788248B2 (en) | Transparent flow model simulation implementing bi-directional links | |
CN105912668A (zh) | 标签管理方法及设备 | |
US20170249073A1 (en) | Systems, devices, and methods for dynamic virtual data analysis | |
Fanning | Coyote's Guide to Traditional IDL Graphics | |
EP3309657A1 (en) | Role-based provision of virtual reality environment | |
CN105045593B (zh) | 用于绘制页面的方法和装置 | |
US9851957B2 (en) | Improving application code execution performance by consolidating accesses to shared resources | |
EP3262531A1 (en) | Element identifier generation | |
CN104636050B (zh) | 允许嵌套对象拖放的方法及*** | |
CN111460235A (zh) | 图谱数据的处理方法、装置、设备及存储介质 | |
EP3144896A1 (en) | Multi-representation dependency graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |