CN114168239A - 窗口显示方法、装置、设备和存储介质 - Google Patents
窗口显示方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114168239A CN114168239A CN202111228459.3A CN202111228459A CN114168239A CN 114168239 A CN114168239 A CN 114168239A CN 202111228459 A CN202111228459 A CN 202111228459A CN 114168239 A CN114168239 A CN 114168239A
- Authority
- CN
- China
- Prior art keywords
- window
- app
- display layer
- virtual display
- rendering component
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000009877 rendering Methods 0.000 claims abstract description 163
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000002194 synthesizing effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明提供一种窗口显示方法、装置、设备和存储介质。该方法应用于电子设备,电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件;该方法包括:界面渲染组件确定与第一APP对应的第一虚拟显示层;界面渲染组件在第一虚拟显示层上对第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;界面渲染组件将渲染后的至少一个第一窗口发送给窗口管理器,窗口管理器显示第一窗口。本发明实施例的方法使第二操作系统的窗口可以较为快速的在第一操作系统中显示,从而可以提高窗口渲染及显示效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种窗口显示方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,为了扩展Linux系统下的应用程序(Aplication,简称APP),丰富应用环境,Linux系统上可支持运行安卓Android系统的应用程序APP。
目前,在Linux系统下运行安卓APP时,Linux系统的窗口管理器会直接显示安卓APP的窗口的内容。Linux系统的窗口管理器在显示安卓APP的窗口时,直接接收安卓端渲染好的窗口进行显示。若存在多个安卓窗口时,例如有叠加显示等情况,需要Linux系统的窗口管理器对多个安卓窗口重新进行渲染显示,Linux系统需要与安卓端交互获取窗口显示的信息,并进行渲染显示,操作较为繁琐。
发明内容
本发明提供一种窗口显示方法、装置、设备和存储介质,用以解决现有技术中Linux系统显示多各安卓窗口时,操作繁琐的缺陷。
本发明提供一种窗口显示方法。该窗口显示方法应用于电子设备,所述电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,所述第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件;所述方法包括:
所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层;
所述界面渲染组件在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;
所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
根据本发明提供的一种窗口显示方法,所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层,包括:
所述界面渲染组件根据目标对应关系以及虚拟显示层的分配规则,确定与所述第一APP对应的第一虚拟显示层;所述目标对应关系包括:至少一个APP与至少一个虚拟显示层的对应关系。
根据本发明提供的一种窗口显示方法,所述方法还包括:
若不存在与所述第一APP对应的所述第一虚拟显示层,则创建所述第一虚拟显示层,并建立所述第一APP与所述第一虚拟显示层的对应关系。
根据本发明提供的一种窗口显示方法,所述第二操作系统还包括第二APP,在接收到第二APP的启动请求后,所述方法还包括:
若已存在与所述第二APP对应的第二虚拟显示层,且所述第二虚拟显示层为所述第一虚拟显示层,则所述界面渲染组件在所述第一虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第一目标窗口;
所述界面渲染组件将所述渲染后的第一目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第一目标窗口。
根据本发明提供的一种窗口显示方法,所述方法还包括:
若不存在与所述第二APP对应的第二虚拟显示层,则创建所述第二虚拟显示层,并建立所述第二APP与所述第二虚拟显示层的对应关系。
根据本发明提供的一种窗口显示方法,创建所述第二虚拟显示层之后,还包括:
所述界面渲染组件在所述第二虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第二目标窗口;
所述界面渲染组件将所述渲染后的第二目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第二目标窗口。
根据本发明提供的一种窗口显示方法,所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层之前,还包括:
所述界面渲染组件接收所述第一APP的启动请求;或,
所述界面渲染组件接收所述第一APP发送的至少一个所述第一窗口的更新指示。
根据本发明提供的一种窗口显示方法,所述第二操作系统还包括代理服务组件;所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,包括:
所述界面渲染组件通过所述代理服务组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器。
本发明还提供一种窗口显示装置。应用于电子设备,所述电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,所述第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件;所述窗口显示装置包括:
处理模块,所述处理模块用于确定与所述第一APP对应的第一虚拟显示层;
所述处理模块还用于,在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;
发送模块,用于将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述窗口显示方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述窗口显示方法的步骤。
本发明提供的窗口显示方法、装置、设备和存储介质,通过界面渲染组件确定与第一APP对应的第一虚拟显示层,然后界面渲染组件在第一虚拟显示层上对第一APP的至少一个第一窗口进行渲染。当第二操作系统的第一APP的一个或多个窗口,需要在第一操作系统中显示时,可以由界面渲染组件所确定的第一虚拟显示层进行第一APP的一个或多个第一窗口的渲染。通过第二操作系统的渲染方法对第一APP的窗口进行渲染,此时,无需第一操作系统进行窗口的渲染,也无需第一操作系统与第二操作系统之间多次交互窗口显示信息,渲染完成后,界面渲染组件将渲染后的至少一个第一窗口发送给第一操作系统的窗口管理器,由窗口管理器显示第一窗口。在此过程中,第二操作系统的窗口可以较为快速的在第一操作系统中显示,从而可以提高窗口渲染及显示效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的窗口显示方法的流程示意图之一;
图2是本发明实施例提供的窗口显示方法的交互流程示意图之一;
图3是本发明实施例提供的窗口显示方法的流程示意图之二;
图4是本发明实施例提供的窗口显示方法的交互流程示意图之二;
图5是本发明实施例提供的窗口显示方法的流程示意图之三;
图6是本发明实施例提供的窗口显示方法的交互流程示意图之三;
图7为本发明实施例提供的窗口显示方法的交互流程示意图之四;
图8是本发明实施例提供的窗口显示方法的交互流程示意图之五;
图9是本发明实施例提供的窗口显示装置的结构示意图;
图10是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例涉及的部分词汇和应用场景进行介绍。
应用程序的窗口任务,即Task,作为一个特定宽度和高度的、应用程序的容器,显示该应用程序。每个应用程序可以创建一个或者多个窗口任务,用于显示不同的内容。本发明实施例中的窗口即指窗口任务。
在本发明的实施例中,第二操作系统以容器化的方式运行在第一操作系统中。如本领域技术人员所知,容器化即以Linux内核特性为基础实现的LXC、LXD、Docker等,其充分利用了cgroups和Namespace特性,隔离进程和资源,使得第二操作系统高效、轻量的实现。
在本发明的实施例中,尽管没有明确描述的,第一操作系统和第二操作系统均为基于Linux Kernel的操作系统,二者可以是相同的,例如第一操作系统和第二操作系统均为Linux OS发行版(如Ubuntu)或均为Android;二者也可以是不同的,例如第一操作系统和第二操作系统中一者为Linux OS发行版,一者为Android(安卓)。
在本发明的实施例中,尽管没有明确描述的,第一操作系统与第二操作系统之间的通讯、通知等可以通过网络套接字Socket、消息队列MQ、FIFOs(命名管道)、共享内存等进程间通讯IPC实现或通过系统层面的广播通知Broadcast等实现。
如本领域技术人员所知,Android具有多个衍生版,本发明中所称的Android(安卓)涵盖Google发行的Android OS以及AOSP和基于AOSP的各种衍生系统,如MIUI、EMUI、OneUI等。
如本领域技术人员所知,Linux操作系统,又称GNU/Linux系统,如Ubuntu、Debian、RedHat等。需要说明的是,Linux并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,例如Windows系统中的WSL
如本领域技术人员所知,还存在多种其它的基于Linux Kernel的操作系统,如Tizen等,同样适用于本发明的技术方案。
本发明实施例中的电子设备例如包括:手机、平板电脑、笔记本电脑、计算机等终端设备。
为了说明的方便,以下以第一操作系统为Linux OS、第二操作系统为Android为例说明本发明实施例的实现过程和原理,这仅是示意性的,并不对本发明构成特别限定。
针对上述场景,在Linux系统下运行安卓APP时,Linux系统的窗口管理器会直接显示安卓APP的窗口的内容。Linux系统的窗口管理器在显示安卓APP的窗口时,直接接收安卓端渲染好的窗口进行显示。若存在多个安卓窗口时,例如有叠加显示等情况,需要Linux系统的窗口管理器对多个安卓窗口重新进行渲染显示,Linux系统需要与安卓端交互获取窗口显示的信息,并进行渲染显示,操作较为繁琐。
本发明实施例的窗口显示方法的技术构思如下:
安卓APP的一个或多个窗口在Linux系统上显示时,首先由安卓系统的界面渲染组件确定与该安卓APP对应的虚拟显示层,然后在该虚拟显示层上进行安卓APP的一个或多个窗口的渲染。最后将渲染后的第一窗口发送给Linux系统显示。
下面结合图1-图10以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是本发明提供的窗口显示方法的流程示意图之一。图2是本发明实施例提供的窗口显示方法的交互流程示意图之一。如图1和图2所示,本发明实施例的窗口显示方法应用于电子设备。该电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统。第一操作系统包括窗口管理器。第二操作系统包括第一应用程序APP、界面渲染组件。该窗口显示方法包括:
步骤101、界面渲染组件确定与第一APP对应的第一虚拟显示层。
具体的,对于安卓系统来说,界面渲染组件可以为SurfaceFlinger组件,其主要作用为接收多个来源的图形显示数据,将它们合成、渲染。上述第一APP为第二操作系统所包括的、需要在第一操作系统显示的目标APP。第一虚拟显示层是存在于第二操作系统的虚拟显示层。该第一虚拟显示层,可以是界面渲染组件当前新创建的虚拟显示层,也可以是在先程序已创建的第一虚拟显示层,界面渲染组件建立该已创建的第一虚拟显示层与第一APP的对应关系。此时,第一虚拟显示层可以接收到第一APP的图形显示数据,并对其进行合成、渲染。
例如,当安卓系统的某购物APP(第一APP)在Linux系统上显示时,安卓系统的SurfaceFlinger组件先创建与购物APP对应的第一虚拟显示层,并建立该购物APP与第一虚拟显示层的对应关系。
又例如,当安卓系统的购物APP在Linux系统上显示时,安卓系统的SurfaceFlinger组件可以直接建立购物APP与已创建的第一虚拟显示层的对应关系。
步骤102、界面渲染组件在第一虚拟显示层上对第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口。
具体的,上述第一窗口可以为第一APP启动或更新后产生的窗口,也可以为第一系统弹出的与第一APP有关的窗口。
界面渲染组件可以在第一虚拟显示层上对第一APP的一个第一窗口进行渲染,得到渲染后的一个第一窗口。界面渲染组件也可以在第一虚拟显示层上对第一APP的多个第一窗口进行渲染、合成,得到渲染后的一个或多个第一窗口。
例如,当安卓系统的某购物APP(第一APP)的一个网店窗口在Linux系统上显示时,安卓系统的SurfaceFlinger组件在与该购物APP具有对应关系的的第一虚拟显示层上渲染该网店窗口。
又例如,当安卓系统的某购物APP(第一APP)的网店窗口和通讯窗口两个窗口叠加的在Linux系统上显示时,安卓系统的SurfaceFlinger组件在与该购物APP具有对应关系的第一虚拟显示层上渲染、合成网店窗口和通讯窗口叠加后的第一窗口。
步骤103、界面渲染组件将渲染后的至少一个第一窗口发送给窗口管理器,窗口管理器显示第一窗口。
具体的,当界面渲染组件在第一虚拟显示层上进行渲染,获得第一虚拟显示层上渲染后的第一窗口后,界面渲染组件将第一虚拟显示层上的渲染后的第一窗口发送给第一系统的窗口管理器,窗口管理器显示第一窗口。在此过程中,窗口管理器,无需对第一窗口进行渲染等处理,接收到渲染后的第一窗口后,为第一窗口提供窗口边框等服务,显示第一窗口。
例如,在Linux系统上显示安卓系统的某购物APP的网店窗口,当安卓系统的该购物APP(第一APP)的一个网店窗口在对应的第一虚拟显示层上渲染完成后,安卓系统的SurfaceFlinger组件将第一虚拟显示层上、渲染后的网店窗口发送给Linux系统的窗口管理器。Linux系统的窗口管理器接收到渲染后的网店窗口后,显示该网店窗口。
又例如,在Linux系统上显示安卓系统的某购物APP的网店窗口和通讯窗口的叠加窗口,当安卓系统的该购物APP(第一APP)的网店窗口和通讯窗口的叠加窗口在对应的第一虚拟显示层上渲染完成后,安卓系统的SurfaceFlinger组件将第一虚拟显示层上、渲染后的网店窗口和通讯窗口的叠加窗口发送给Linux系统的窗口管理器。Linux系统的窗口管理器接收到渲染后的叠加窗口后,显示该叠加窗口。
本发明实施例的窗口显示方法,通过界面渲染组件确定与第一APP对应的第一虚拟显示层,然后界面渲染组件在第一虚拟显示层上对第一APP的至少一个第一窗口进行渲染。当第二操作系统的第一APP的一个或多个窗口,需要在第一操作系统中显示时,可以由界面渲染组件所确定的第一虚拟显示层进行第一APP的一个或多个第一窗口的渲染。通过第二操作系统的渲染方法对第一APP的窗口进行渲染,此时,无需第一操作系统进行窗口的渲染,也无需第一操作系统与第二操作系统之间多次交互窗口显示信息,渲染完成后,界面渲染组件将渲染后的至少一个第一窗口发送给第一操作系统的窗口管理器,由窗口管理器显示第一窗口。在此过程中,第二操作系统的窗口可以较为快速的在第一操作系统中显示,从而可以提高窗口渲染及显示效率。
在一实施例中,步骤101中界面渲染组件确定与第一APP对应的第一虚拟显示层,具体可以通过如下步骤实现:
界面渲染组件根据目标对应关系以及虚拟显示层的分配规则,确定与第一APP对应的第一虚拟显示层。目标对应关系包括:至少一个APP与至少一个虚拟显示层的对应关系。
具体的,目标对应关系可以包括一个APP与一个虚拟显示层的对应关系,也可以包括一个APP与多个虚拟显示层的对应关系,也可以包括多个APP与一个虚拟显示层的对应关系,也可以包括多个APP与多个虚拟显示层的对应关系。
虚拟显示层的分配规则可以根据需要进行设置。例如,虚拟显示层的分配规则可以为每个独立的APP分配一个虚拟显示层;也可以为同类型的APP分配一个虚拟显示层;也可以为根据启动顺序,每n个APP分配一个虚拟显示层,n为大于0的整数。
在实际应用中,结合目标对应关系和设定的虚拟显示层的分配规则,确定与第一APP对应的第一虚拟显示层,可以是确定已创建的第一虚拟显示层与第一APP对应关系,也可以是新建第一虚拟显示层并建立第一虚拟显示层与第一APP的对应关系。
例如,在Linux系统上显示安卓系统的某购物APP的网店窗口,如果目标对应关系为该购物APP与已创建的第一虚拟显示层的对应关系,虚拟显示层的分配规则为同类型APP分配一个虚拟显示层,那么界面渲染组件确定对应该购物APP的虚拟显示层为已创建的属于购物类别的第一虚拟显示层。
又例如,在Linux系统上显示安卓系统的社交APP的聊天窗口,如果目标对应关系为社交APP与第一虚拟显示层的对应关系,虚拟显示层的分配规则为每两个APP分配一个虚拟显示层,那么界面渲染组件可以确定与社交APP对应的、已创建的上一个第一虚拟显示层。
本发明实施例的方法,根据目标对应关系和预设的虚拟显示层的分配规则来确定第一APP对应的第一虚拟显示层,从而可以将第一APP的窗口对应渲染到多个虚拟显示层,也可以在一个虚拟显示层渲染、合成多个APP的窗口,从而可以提高多个窗口显示的灵活性,便于快速的显示多个窗口。并且,合理的分配虚拟显示层,可以减少虚拟显示层的创建数量,提高系统运行速度。
在一实施例中,若不存在与第一APP对应的第一虚拟显示层,则创建第一虚拟显示层,并建立第一APP与第一虚拟显示层的对应关系。
具体的,上述第一虚拟显示层由界面渲染组件创建,并由界面渲染组件建立第一APP与第一虚拟显示层的对应关系。若不存在与第一APP对应的第一虚拟显示层,是指在第二操作系统中不存在与第一APP具有对应关系的第一虚拟显示层。此时,需要创建第一虚拟显示层,并建立该第一虚拟显示层与第一APP的对应关系。
例如,在Linux系统上显示安卓系统的某购物APP的网店窗口,界面渲染组件查找与该购物APP有对应关系的第一虚拟显示层。若没有,则界面渲染组件创建新的第一虚拟显示层,并建立该购物APP与第一虚拟显示层的对应关系。
在上述实施例中,当第二系统不存在与第一APP对应的第一虚拟显示层时,可以新建一第一虚拟显示层,从而可以确保第一APP的窗口能够在第一虚拟显示层上渲染、合成。
在一实施例中,第二操作系统还包括第二APP,如图3和图4所示,示出了第二APP启动时的窗口显示方法的流程和交互流程,在步骤104接收到第二APP的启动请求后,可以进行如下操作:
步骤105、若已存在与第二APP对应的第二虚拟显示层,且第二虚拟显示层为第一虚拟显示层,则界面渲染组件在第一虚拟显示层上对第二APP的至少一个第二窗口以及第一APP的至少一个第一窗口进行渲染,得到渲染后的第一目标窗口;
步骤106、界面渲染组件将渲染后的第一目标窗口发送给窗口管理器,窗口管理器显示第一目标窗口。
具体的,第二APP可以为第二操作系统上的、不同于第一APP的应用程序。第一目标窗口为至少一个第二窗口和至少一个第一窗口合成、渲染后所得到的窗口,也就是说第一目标窗口为两个不同的APP的窗口渲染、合成的窗口。
界面渲染组件根据虚拟显示层的分配规则,确定第二虚拟显示层为第一虚拟显示层。例如,已创建的第一虚拟显示层为第一个虚拟显示层。第二APP为某购物APP,虚拟显示层的分配规则为每两个APP分配同一虚拟显示层,那么该购物APP对应的第二虚拟显示层为已创建的第一虚拟显示层。
例如,在Linux系统上显示安卓系统社交APP的聊天窗口时,某购物APP的第一虚拟显示层已创建,其为第一个虚拟显示层,虚拟显示层的分配规则为每两个APP分配一个虚拟显示层。此时,社交APP对应的第二虚拟显示层为第一虚拟显示层。安卓系统的SurfaceFlinger组件可以在已存在的第一虚拟显示层上对购物APP和社交APP的窗口进行合成、渲染,得到渲染后的第一目标窗口。然后,SurfaceFlinger组件将渲染后的第一目标窗口发送给Linux系统的窗口管理器,窗口管理器显示第一目标窗口。
在上述实施例中,界面渲染组件可以在已创建的第一虚拟显示层上,对第二APP和第一APP两者的窗口进行合成、渲染,得到渲染后的第一目标窗口,从而可以方便、快速的实现多个APP的窗口融合。
在一实施例中,若不存在与第二APP对应的第二虚拟显示层,则创建第二虚拟显示层,并建立第二APP与第二虚拟显示层的对应关系。
具体的,界面渲染组件查找第二APP对应的第二虚拟显示层,若第二操作系统中不存在与第二APP具有对应关系的第二虚拟显示层,则界面渲染组件创建新的第二虚拟显示层,并建立第二APP与第二虚拟显示层的对应关系。
例如,在Linux系统上显示安卓系统的某购物APP的购物网页,SurfaceFlinger组件查找,确定安卓系统中不存在与该购物APP对应的第二虚拟显示层,则SurfaceFlinger组件创建新的第二虚拟显示层,并建立第二虚拟显示层与购物APP的对应关系。
在上述实施例中,当显示多个APP的窗口时,第二个及后续的APP显示时,若不存在与其对应的虚拟显示层,可以新建一虚拟显示层,以便于能够在虚拟显示层上对第二个及后续的APP进行渲染等操作。
进一步的,创建第二虚拟显示层之后,还可以执行如下操作:
界面渲染组件在第二虚拟显示层上对第二APP的至少一个第二窗口以及第一APP的至少一个第一窗口进行渲染,得到渲染后的第二目标窗口;
界面渲染组件将渲染后的第二目标窗口发送给窗口管理器,窗口管理器显示第二目标窗口。
具体的,界面渲染组件在创建与第二APP对应的第二虚拟显示层之后,可以在该第二虚拟显示层上,对第二APP的一个或多个第二窗口以及第一APP的一个或多个第一窗口进行渲染、合成,得到渲染后的第二目标窗口。在实际应用中,第二目标窗口可以是一个第一窗口和一个第二窗口渲染、合成得到;也可以是一个第一窗口和多个第二窗口渲染、合成得到;也可以是多个第一窗口和一个第二窗口渲染、合成得到;也可以是多个第一窗口和多个第二窗口渲染、合成得到。
例如,在Linux系统上显示安卓系统的某购物APP的购物网页,SurfaceFlinger组件确定安卓系统中不存在与该购物APP对应的第二虚拟显示层,则SurfaceFlinger组件创建新的第二虚拟显示层,并建立第二虚拟显示层与该购物APP的对应关系。与此同时,建立第二虚拟显示层与在先一购物APP的对应关系。然后,SurfaceFlinger组件在新建的第二虚拟显示层上,对当前购物APP的窗口和在先购物APP的窗口进行合成、渲染,得到的第二目标窗口。
在上述实施例中,可以在新建的第二虚拟显示层上对两个不同的APP的窗口进行合成、渲染,可以提高图形渲染的效率,提高响应速度。
在一实施例中,如图5和图6所示,示出了步骤101之前窗口显示方法的流程。界面渲染组件确定与第一APP对应的第一虚拟显示层之前,可以执行如下操作:
步骤100、界面渲染组件接收第一APP的启动请求;或,界面渲染组件接收第一APP发送的至少一个第一窗口的更新指示。
具体的,第一APP可以为任意的安卓应用程序。第一APP的启动请求由第一系统发送给界面渲染组件。
例如,用户点击Linux系统桌面的安卓系统的某购物APP图标,Linux系统桌面将该购物APP的启动请求发送给Linux系统的应用管理器,该应用管理器将该购物APP的启动请求发送给安卓系统的服务端代理组件,服务端代理组件将启动请求发送给安卓的进程管理服务(Activity Manager Service,AMS)组件,AMS组件将启动请求发送给安卓系统的购物APP。购物APP将启动请求发送给SurfaceFlinger组件。SurfaceFlinger组件接收到购物APP的启动请求后,确定与购物APP对应的第一虚拟显示层。
又例如,用户更新Linux系统桌面的安卓系统的某购物APP,桌面将该购物APP的更新请求发送给Linux系统的应用管理器,该应用管理器将购物APP的更新请求发送给安卓系统的服务端代理组件,服务端代理组件将更新请求发送给安卓的进程管理服务(ActivityManager Service,AMS)组件,AMS组件将更新请求发送给安卓系统的购物APP。购物APP将更新请求发送给SurfaceFlinger组件。SurfaceFlinger组件接收到购物APP的更新请求后,确定与购物APP对应的第一虚拟显示层。
在上述实施例中,界面渲染组件在接收到第一APP的启动请求或更新请求后,执行确定与第一APP对应的第一虚拟显示层的操作。此时,界面渲染组件可以根据第一APP的需求执行确定第一虚拟显示层的操作,便于对确定第一虚拟显示层的操作进行管理。
在一实施例中,第二操作系统还包括代理服务组件,界面渲染组件将渲染后的至少一个第一窗口发送给窗口管理器可以通过如下方式实现:界面渲染组件通过代理服务组件将渲染后的至少一个第一窗口发送给窗口管理器。
具体的,代理服务组件用于代理第二操作系统的应用程序的显示任务,并且第二操作系统的代理服务组件与第一操作系统的窗口管理器之间通信连接。
例如,如图7所示,安卓系统的界面渲染组件接收到Linux系统的应用管理器发送的某购物APP的启动请求后,界面渲染组件创建一代理服务组件。代理服务组件请求界面渲染组件创建第一虚拟显示层,然后界面渲染组件新建第一虚拟显示层,代理服务组件接收第一虚拟显示层创建成功的信息后,创建与窗口管理器的通信连接。当界面渲染组件在第一虚拟显示层上形成渲染后的购物APP的窗口后,界面渲染组件通过代理服务组件将渲染后的购物APP的窗口发送给窗口管理器,窗口管理器显示购物APP的窗口。
在上述实施例中,第一操作系统的窗口管理器与第二操作系统的应用程序之间存在一个代理服务组件,解除了显示任务与界面渲染组件之间的耦合。当第一操作系统销毁第一APP的显示任务时,可以避免界面渲染组件被误杀,确保界面渲染组件的正常运行,提高第二操作系统的稳定性。
示例性的,如图8所示,本实施例的窗口显示方法包括如下步骤:
步骤1、启动应用1。用户点击Linux系统桌面中安卓的应用1的图标,桌面与Linux系统的应用管理器通信,请求启动应用1。
步骤2、启动应用1。应用管理器与安卓系统的进程管理服务组件通信,请求启动应用1。
步骤3、启动应用1。安卓系统的进程管理服务组件与应用1通信,请求启动应用1。
步骤4、申请显存。应用1向界面渲染组件申请显存。
步骤5、判断是否新建虚拟显示层。界面渲染组件根据预设的分配规则判断是否创建一个新的虚拟显示层和窗口代理1(代理服务组件)。
步骤6、界面渲染组件创建窗口代理1。
步骤7、申请虚拟显示层。窗口代理1向界面渲染组件申请一个虚拟显示层,虚拟显示层将在界面渲染组件中进行管理。
步骤8、界面渲染组件新建一虚拟显示层1(第一虚拟显示层)。
步骤9、返回创建成功的结果给界面渲染组件。
步骤10、界面渲染组件建立应用1与虚拟显示层1对应关系,也就是应用1的显示内容将在虚拟显示层1中显示。
步骤11、界面渲染组件将虚拟显示层1创建成功的信息发送给窗口代理1。
步骤12、建立通信连接。窗口代理1与Linux系统的窗口管理器建立通信连接,也就是Linux系统中创建一个窗口。
步骤13、应用1更新显示内容。
步骤14、渲染。界面渲染组件将应用1的内容渲染到虚拟显示层1上。
步骤15、更新显示内容。虚拟显示层1将显示内容推送到窗口代理1。
步骤16、更新显示内容。窗口代理1将内容推送给窗口管理器。
步骤17、启动应用2。用户点击Linux系统桌面中安卓的应用2的图标,桌面与Linux系统的应用管理器通信,请求启动应用2。
步骤18、启动应用2。应用管理器与安卓系统的进程管理服务组件通信,请求启动应用2。
步骤19、启动应用2。进程管理服务组件与应用2通信,请求启动应用2。
步骤20、申请显存。应用2向界面渲染组件申请显存。
步骤21、界面渲染组件根据预设的分配规则判断是否创建一个新的窗口代理服务和新的虚拟显示层。
步骤22、建立应用2与虚拟显示层1的对应关系。界面渲染组件查找到已创建虚拟显示层1和窗口代理1,将应用2与虚拟显示层1创建对应关系,也就是应用1和应用2的显示内容将在虚拟显示层1中显示。
步骤23、应用2更新显示内容。
步骤24、渲染。界面渲染组件将应用1和应用2的内容渲染到虚拟显示层1上。
步骤25、更新显示内容。虚拟显示层1将显示内容推送到窗口代理1,更新显示内容。
步骤26、更新显示内容。窗口代理1将内容推送给窗口管理器更新显示内容。
本发明实施例提供的窗口显示方法,通过界面渲染组件确定与第一APP对应的第一虚拟显示层,然后界面渲染组件在第一虚拟显示层上对第一APP的至少一个第一窗口进行渲染。当第二操作系统的第一APP的一个或多个窗口,需要在第一操作系统中显示时,可以由界面渲染组件所确定的第一虚拟显示层进行第一APP的一个或多个第一窗口的渲染。通过第二操作系统的渲染方法对第一APP的窗口进行渲染,此时,无需第一操作系统进行窗口的渲染,也无需第一操作系统与第二操作系统之间多次交互窗口显示信息,渲染完成后,界面渲染组件将渲染后的至少一个第一窗口发送给第一操作系统的窗口管理器,由窗口管理器显示第一窗口。在此过程中,第二操作系统的窗口可以较为快速的在第一操作系统中显示,从而可以提高窗口渲染及显示效率。
下面对本发明提供的窗口显示装置进行描述,下文描述的窗口显示装置与上文描述的窗口显示方法可相互对应参照。
图9是本发明提供的窗口显示装置一实施例的结构示意图。本实施例提供的窗口显示装置应用于电子设备,所述电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,所述第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件。如图9所示,本实施例提供的窗口显示装置,包括:
界面渲染组件210,所述界面渲染组件用于确定与所述第一APP对应的第一虚拟显示层;
所述界面渲染组件210还用于在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;
发送模块220,用于将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
可选地,所述界面渲染组件210具体用于:根据目标对应关系以及虚拟显示层的分配规则,确定与所述第一APP对应的第一虚拟显示层;所述目标对应关系包括:至少一个APP与至少一个虚拟显示层的对应关系。
可选地,所述界面渲染组件210还用于:若不存在与所述第一APP对应的所述第一虚拟显示层,则创建所述第一虚拟显示层,并建立所述第一APP与所述第一虚拟显示层的对应关系。
可选地,所述第二操作系统还包括第二APP,在接收到第二APP的启动请求后,所述界面渲染组件210还用于:
若已存在与所述第二APP对应的第二虚拟显示层,且所述第二虚拟显示层为所述第一虚拟显示层,则所述界面渲染组件在所述第一虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第一目标窗口。
所述界面渲染组件还用于将所述渲染后的第一目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第一目标窗口。
可选地,所述界面渲染组件210还用于:若不存在与所述第二APP对应的第二虚拟显示层,则创建所述第二虚拟显示层,并建立所述第二APP与所述第二虚拟显示层的对应关系。
可选地,创建所述第二虚拟显示层之后,所述界面渲染组件210还用于:所述界面渲染组件在所述第二虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第二目标窗口;所述界面渲染组件还用于将所述渲染后的第二目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第二目标窗口。
可选地,所述界面渲染组件210还用于接收所述第一APP的启动请求;或,所述界面渲染组件210还用于接收所述第一APP发送的至少一个所述第一窗口的更新指示。
可选地,所述界面渲染组件210还用于通过所述代理服务组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器。
本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
举个例子如下:
图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行窗口显示方法,该方法包括:所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层;所述界面渲染组件在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的窗口显示方法,该方法包括:所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层;所述界面渲染组件在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的窗口显示方法,该方法包括:所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层;所述界面渲染组件在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种窗口显示方法,其特征在于,应用于电子设备,所述电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,所述第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件;所述方法包括:
所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层;
所述界面渲染组件在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;
所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
2.根据权利要求1所述的方法,其特征在于,所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层,包括:
所述界面渲染组件根据目标对应关系以及虚拟显示层的分配规则,确定与所述第一APP对应的第一虚拟显示层;所述目标对应关系包括:至少一个APP与至少一个虚拟显示层的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若不存在与所述第一APP对应的所述第一虚拟显示层,则创建所述第一虚拟显示层,并建立所述第一APP与所述第一虚拟显示层的对应关系。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第二操作系统还包括第二APP,在接收到第二APP的启动请求后,所述方法还包括:
若已存在与所述第二APP对应的第二虚拟显示层,且所述第二虚拟显示层为所述第一虚拟显示层,则所述界面渲染组件在所述第一虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第一目标窗口;
所述界面渲染组件将所述渲染后的第一目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第一目标窗口。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若不存在与所述第二APP对应的第二虚拟显示层,则创建所述第二虚拟显示层,并建立所述第二APP与所述第二虚拟显示层的对应关系。
6.根据权利要求5所述的方法,其特征在于,创建所述第二虚拟显示层之后,还包括:
所述界面渲染组件在所述第二虚拟显示层上对所述第二APP的至少一个第二窗口以及所述第一APP的至少一个第一窗口进行渲染,得到渲染后的第二目标窗口;
所述界面渲染组件将所述渲染后的第二目标窗口发送给所述窗口管理器,所述窗口管理器显示所述第二目标窗口。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述界面渲染组件确定与所述第一APP对应的第一虚拟显示层之前,还包括:
所述界面渲染组件接收所述第一APP的启动请求;或,
所述界面渲染组件接收所述第一APP发送的至少一个所述第一窗口的更新指示。
8.根据权利要求7所述的方法,其特征在于,所述第二操作系统还包括代理服务组件;所述界面渲染组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器,包括:
所述界面渲染组件通过所述代理服务组件将所述渲染后的至少一个第一窗口发送给所述窗口管理器。
9.一种窗口显示装置,其特征在于,应用于电子设备,所述电子设备包括:第一操作系统和以容器化方式部署在第一操作系统中的第二操作系统,所述第一操作系统包括窗口管理器,第二操作系统包括第一应用程序APP、界面渲染组件;所述窗口显示装置包括:
界面渲染组件,所述界面渲染组件用于确定与所述第一APP对应的第一虚拟显示层;
所述界面渲染组件还用于在所述第一虚拟显示层上对所述第一APP的至少一个第一窗口进行渲染,得到渲染后的至少一个第一窗口;
发送模块,用于将所述渲染后的至少一个第一窗口发送给所述窗口管理器,所述窗口管理器显示所述第一窗口。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述窗口显示方法的步骤。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述窗口显示方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111228459.3A CN114168239B (zh) | 2021-10-21 | 2021-10-21 | 窗口显示方法、装置、设备和存储介质 |
PCT/CN2022/106580 WO2023065740A1 (zh) | 2021-10-21 | 2022-07-19 | 窗口显示方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111228459.3A CN114168239B (zh) | 2021-10-21 | 2021-10-21 | 窗口显示方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168239A true CN114168239A (zh) | 2022-03-11 |
CN114168239B CN114168239B (zh) | 2024-04-30 |
Family
ID=80477129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111228459.3A Active CN114168239B (zh) | 2021-10-21 | 2021-10-21 | 窗口显示方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114168239B (zh) |
WO (1) | WO2023065740A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065740A1 (zh) * | 2021-10-21 | 2023-04-27 | 北京字节跳动网络技术有限公司 | 窗口显示方法、装置、设备和存储介质 |
CN116627579A (zh) * | 2023-07-24 | 2023-08-22 | 麒麟软件有限公司 | 一种在Linux上缩放安卓应用窗口的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234657B (zh) * | 2023-11-16 | 2024-01-19 | 北京麟卓信息科技有限公司 | 一种基于虚拟子图层的多窗口渲染优化方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
US20120089992A1 (en) * | 2010-10-01 | 2012-04-12 | Imerj LLC | User interaction support across cross-environment applications |
CN105912249A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 一种实现视频推荐的方法及装置 |
GB201700073D0 (en) * | 2017-01-04 | 2017-02-15 | Cisco Tech Inc | Method and apparatus for container-based virtualisation |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及系统 |
US20180211036A1 (en) * | 2017-01-23 | 2018-07-26 | Hysolate Ltd. | Techniques for improving seamless user experience on air-gapped endpoints |
CN108694073A (zh) * | 2018-05-11 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 虚拟场景的控制方法、装置、设备及存储介质 |
US20190302974A1 (en) * | 2018-04-03 | 2019-10-03 | Palantir Technologies Inc. | Multi-stage data page rendering |
CN111061540A (zh) * | 2019-11-27 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种基于容器技术的应用虚拟化方法及系统 |
CN113032095A (zh) * | 2021-03-15 | 2021-06-25 | 深圳市瑞驰信息技术有限公司 | 一种在arm架构上实现安卓容器运算的系统及方法 |
CN113110910A (zh) * | 2021-04-20 | 2021-07-13 | 上海卓易科技股份有限公司 | 一种安卓容器实现的方法、系统及设备 |
CN113157362A (zh) * | 2021-04-27 | 2021-07-23 | 麒麟软件有限公司 | 一种应用于Linux上Android多窗口显示方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204881A (zh) * | 2014-06-25 | 2015-12-30 | 中兴通讯股份有限公司 | 在Android系统上运行J2me应用程序的方法及设备 |
CN109949201B (zh) * | 2019-01-29 | 2023-04-07 | 福建多多云科技有限公司 | 一种Linux容器的图像渲染加速方法 |
CN114168240A (zh) * | 2021-10-21 | 2022-03-11 | 北京鲸鲮信息系统技术有限公司 | 窗口显示方法、装置、设备和存储介质 |
CN114168239B (zh) * | 2021-10-21 | 2024-04-30 | 北京字节跳动网络技术有限公司 | 窗口显示方法、装置、设备和存储介质 |
-
2021
- 2021-10-21 CN CN202111228459.3A patent/CN114168239B/zh active Active
-
2022
- 2022-07-19 WO PCT/CN2022/106580 patent/WO2023065740A1/zh unknown
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
US20120089992A1 (en) * | 2010-10-01 | 2012-04-12 | Imerj LLC | User interaction support across cross-environment applications |
CN105912249A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 一种实现视频推荐的方法及装置 |
GB201700073D0 (en) * | 2017-01-04 | 2017-02-15 | Cisco Tech Inc | Method and apparatus for container-based virtualisation |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及系统 |
US20180213001A1 (en) * | 2017-01-23 | 2018-07-26 | Hysolate Ltd. | Virtual air-gapped endpoint, and methods thereof |
US20180211036A1 (en) * | 2017-01-23 | 2018-07-26 | Hysolate Ltd. | Techniques for improving seamless user experience on air-gapped endpoints |
US20190302974A1 (en) * | 2018-04-03 | 2019-10-03 | Palantir Technologies Inc. | Multi-stage data page rendering |
CN108694073A (zh) * | 2018-05-11 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 虚拟场景的控制方法、装置、设备及存储介质 |
CN111061540A (zh) * | 2019-11-27 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种基于容器技术的应用虚拟化方法及系统 |
CN113032095A (zh) * | 2021-03-15 | 2021-06-25 | 深圳市瑞驰信息技术有限公司 | 一种在arm架构上实现安卓容器运算的系统及方法 |
CN113110910A (zh) * | 2021-04-20 | 2021-07-13 | 上海卓易科技股份有限公司 | 一种安卓容器实现的方法、系统及设备 |
CN113157362A (zh) * | 2021-04-27 | 2021-07-23 | 麒麟软件有限公司 | 一种应用于Linux上Android多窗口显示方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065740A1 (zh) * | 2021-10-21 | 2023-04-27 | 北京字节跳动网络技术有限公司 | 窗口显示方法、装置、设备和存储介质 |
CN116627579A (zh) * | 2023-07-24 | 2023-08-22 | 麒麟软件有限公司 | 一种在Linux上缩放安卓应用窗口的方法及装置 |
CN116627579B (zh) * | 2023-07-24 | 2023-10-31 | 麒麟软件有限公司 | 一种在Linux上缩放安卓应用窗口的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114168239B (zh) | 2024-04-30 |
WO2023065740A1 (zh) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114168239B (zh) | 窗口显示方法、装置、设备和存储介质 | |
US10977062B2 (en) | System for starting virtual machine using mirror image file stored in units of a distributed block storage system mapped to units of a logical volume | |
US20140215452A1 (en) | Deployment Optimization for High Availability in a Multi-Tenant Platform-as-a-Service (PaaS) System | |
KR101369428B1 (ko) | 이종의 게스트 오퍼레이팅 시스템을 지원하는 휴대용 단말을 위한 어플리케이션 관리 장치 및 방법 | |
CN108829868B (zh) | 数据显示方法和装置、存储介质及电子装置 | |
CN110764805B (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
EP3298756B1 (en) | Interfacing with servers having different apis to obtain advertisement data | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
US9465677B2 (en) | Partitioned application environment | |
CN111654525A (zh) | 混合云管理方法、装置、设备及介质 | |
CN114281555A (zh) | 应用状态同步方法、装置、电子设备和存储介质 | |
CN112698930B (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
US11071151B2 (en) | Methods and apparatuses for connecting a wireless access point through an application in a user equipment | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN117149248A (zh) | 微前端构建方法、装置、设备及存储介质 | |
US20210133261A1 (en) | Using web application components with different web application frameworks in a web application | |
CN107343042B (zh) | 浏览器流量劫持方法、装置及移动终端 | |
CN114090118B (zh) | 启动小程序的方法、装置、设备以及存储介质 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN107885574B (zh) | 一种虚拟机的部署方法、业务节点、控制装置及控制节点 | |
US20180205617A1 (en) | System and method for graphically building a virtual network of computer components | |
CN114513535A (zh) | 数据传输系统、方法、装置及设备 | |
CN114281491A (zh) | 应用栈管理方法、装置、电子设备和存储介质 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220413 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082 Applicant before: Beijing jingling Information System Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |