CN115390952A - 界面显示方法和设备 - Google Patents
界面显示方法和设备 Download PDFInfo
- Publication number
- CN115390952A CN115390952A CN202110552712.4A CN202110552712A CN115390952A CN 115390952 A CN115390952 A CN 115390952A CN 202110552712 A CN202110552712 A CN 202110552712A CN 115390952 A CN115390952 A CN 115390952A
- Authority
- CN
- China
- Prior art keywords
- event
- interface
- operating system
- channel
- sliding operation
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种界面显示方法和设备。该方法包括:显示第一界面,所述第一界面包括第一区域,所述第一区域对应的第一进程在显示所述第一界面时运行;检测用户的第一滑动操作;响应于用户在所述第一区域的第一位置的所述第一滑动操作,基于所述第一进程启动第二进程,并显示与所述第二进程关联的第二界面。使得用户可以打开更多界面,提升了界面交互丰富度。
Description
技术领域
本申请实施例涉及终端领域,尤其涉及一种界面显示方法和设备。
背景技术
当前,用户使用终端越来越普遍。用户可以通过手势或语言与终端实现交互。随着当前终端上的应用或服务越来越多,需要显示的页面也越来越多,对交互需求也越来越高。例如用户从屏幕顶部的通知栏区域向下滑动可以打开控制中心的显示界面,显示WiFi、蓝牙等的快捷开关,然而这种交互方式较单一,用户体验感不高。
发明内容
本申请实施例提供一种界面显示方法和设备,用于提升界面交互丰富度,从而提升用户体验。
第一方面,本申请提供一种界面显示方法,应用于电子设备,所述方法包括:显示第一界面,所述第一界面包括第一区域,所述第一区域对应的第一进程在显示所述第一界面时运行;检测用户的第一滑动操作;响应于用户在所述第一区域的第一位置的所述第一滑动操作,基于所述第一进程启动第二进程,并显示与所述第二进程关联的第二界面。
一种可能的实现方式中,所述方法还包括:检测用户的第二滑动操作,响应于用户在所述第一区域的第二位置的所述第二滑动操作,显示与所述第一进程关联的第三界面;其中,所述第一位置位于所述第一区域的第一子区域,所述第二位置位于所述第一区域的第二子区域。
一种可能的实现方式中,所述基于所述第一进程启动第二进程,包括:检测到所述第一滑动操作后,所述电子设备将所述第一滑动操作对应的事件分发给所述第一进程;所述第一进程根据所述第一位置的信息启动所述第二进程;所述电子设备将所述第一滑动操作对应的事件分发给所述第二进程。
一种可能的实现方式中,所述第一子区域和所述第二子区域对应不同的组件,所述基于所述第一进程启动第二进程,包括:检测到所述第一滑动操作后,所述电子设备将所述第一滑动操作对应的事件分发给所述第一进程;所述电子设备基于所述第一子区域对应的组件的响应,启动所述第二进程,并将所述第一滑动操作对应的事件分发给所述第二进程。
一种可能的实现方式中,所述基于所述第一进程启动第二进程,包括:检测到所述第一滑动操作后,所述电子设备将所述第一滑动操作对应的事件分发给所述第一进程;所述第一进程启动所述第二进程;所述电子设备将所述第一滑动操作对应的事件分发给所述第二进程。
一种可能的实现方式中,所述将所述第一滑动操作对应的事件分发给所述第二进程,包括:通过所述第一进程将所述第一滑动操作对应的事件转发给所述第二进程。
一种可能的实现方式中,所述将所述第一滑动操作对应的事件分发给所述第二进程,包括:根据事件通道列表和事件转发列表,判断所述第二进程是否为接收事件的进程;若是,则将所述第一滑动操作对应的事件分发给所述第二进程。
一种可能的实现方式中,所述根据事件通道列表和事件转发列表,判断所述第二进程是否为接收事件的进程,包括:在所述事件通道列表中查找所述第一进程对应的事件通道;在所述事件转发列表查找所述第一进程的注册信息;根据在所述事件通道列表的查找结果和在所述事件转发列表的查找结果,判断所述第二进程是否为接收事件的进程。
一种可能的实现方式中,所述根据在所述事件通道列表的查找结果和在所述事件转发列表的查找结果,判断所述第二进程是否为接收事件的进程,包括:若在所述事件转发列表中能查到所述第二进程的注册信息,则判断所述注册信息中待转发事件是否为触屏事件,并且判断在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道是否能够匹配上,若所述注册信息中待转发事件为触屏事件且在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道能够匹配上,则确定所述第二进程是接收事件的进程;若在所述事件转发列表查不到所述第二进程的注册信息,或者能查到所述第二进程的注册信息但所述注册信息中待转发事件不是触屏事件,或者能查到所述第二进程的注册信息但在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道匹配不上,则确定所述第二进程不是接收事件的进程。
一种可能的实现方式中,所述方法还包括:所述第一进程接收到所述第二进程发送的启动成功消息后,向所述电子设备的操作系统注册事件转发,以使所述操作系统将所述第一进程的注册信息添加至所述事件转发列表中。
一种可能的实现方式中,所述向所述电子设备的操作系统注册事件转发,包括:所述第一进程向所述操作系统发送注册指令,所述注册指令携带待转发事件标识、原始事件通道标识以及所述第二进程的标识;所述操作系统根据所述待转发事件标识,确定所述第一进程注册的待转发事件;所述操作系统根据所述原始事件通道标识,确定所述第一进程注册的原始事件通道;所述操作系统根据所述第二进程的标识,从所述事件通道列表中查询所述第二进程对应的事件通道,并将所述第二进程对应的事件通道作为所述第一进程注册的目标事件通道。
一种可能的实现方式中,所述第一滑动操作对应的事件包括抬起事件,所述所述方法还包括:所述第一进程接收到所述抬起事件后,向所述操作系统发送解注册指令;所述操作系统接收到所述解注册指令后,将所述第一进程的注册信息从所述事件转发列表中删除。
一种可能的实现方式中,所述第一区域为桌面通知栏区域,所述第一进程为所述桌面通知栏区域对应的进程。
一种可能的实现方式中,所述第二界面为包括多个服务组件的页面,所述多个服务组件可以提供多个不同应用或多个不同服务的信息,且所述多个服务组件为用户可交互的组件。
一种可能的实现方式中,所述第三界面为显示控制面板,和/或,控制面板的界面。
第二方面,本申请提供一种电子设备,包括:存储器和处理器,所述存储器用于存储可执行指令,所述可执行指令被所述处理器执行时使得所述电子设备实现第一方面提供的方法。
第三方面,本申请提供一种可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序在被执行时,实现上述第一方面提供的方法。
本申请实施例提供的界面显示方法和设备,显示第一界面,该第一界面包括第一区域,该第一区域对应的第一进程在显示第一界面时运行;响应于用户在第一区域的第一位置的第一滑动操作,基于第一进程启动第二进程,并显示与第二进程关联的第二界面。使得用户可以打开更多界面,提升了界面交互丰富度。
附图说明
图1为本申请实施例提供的应用场景图;
图2为本申请实施例提供的交互图一;
图3为本申请实施例提供的交互图二;
图4为本申请实施例提供的事件分发流程图一;
图5为本申请实施例提供的电子设备的框架图一;
图6为本申请实施例提供的事件通道列表的示意图;
图7为本申请实施例提供的输入模块的示意图一;
图8为本申请实施例提供的事件分发流程图二;
图9为本申请实施例提供的事件转发列表的示意图;
图10为本申请实施例提供的电子设备的框架图二;
图11为本申请实施例提供的输入模块的示意图二;
图12为本申请实施例提供的电子设备100的结构示意图;
图13为本申请实施例提供的电子设备100的软件结构框图。
具体实施方式
在一些实施例中,参见图1所示,用户想要打开控制中心的显示界面时,将手指从屏幕顶部窗口10向下滑即可,图1示意的控制中心的显示界面包括无线局域网(WirelessLocal Area Networks,WLAN)、移动数据以及蓝牙等快捷开关,图1仅是一种示例,在其他实施例中,控制中心的显示界面可以和图1不同,本申请实施例对此不限定。然而这种交互方式较单一,用户体验感不高。本申请实施例提供一种交互方式,将屏幕顶部窗口10进一步分为:屏幕顶部左边窗口101和屏幕顶部右边窗口102,用户想要打开控制中心的显示界面时,参见图2所示,将手指从屏幕顶部左边窗口101向下滑。用户想要打开另一界面时,参见图3所示,将手指从屏幕顶部右边窗口102向下滑,提升了界面交互丰富度。本申请实施例中的窗口也可称为区域,本申请实施例以窗口为例进行说明。屏幕顶部窗口10可以为桌面通知栏区域。在其他实施例中,控制中心的显示界面可称为显示控制面板,和/或,控制面板的界面。
需要说明的是:图3示意的另一界面为服务中心的显示界面,在其他实施例中,手指从屏幕顶部右边窗口102向下滑可打开其他界面,本申请实施例对此不限定。服务中心的显示界面可以为包括多个服务组件的页面,该多个服务组件可以提供多个不同应用或多个不同服务的信息,且该多个服务组件为用户可交互的组件。示例性的,图3所示服务中心的显示界面包括“最近使用”和“我的收藏”两个服务,“最近使用”这一服务包括支付码、音乐、闹钟等,“我的收藏”这一服务包括直播、附近美食等。图3所示服务中心的显示界面仅是一种示例,在其他实施例中,服务中心的显示界面可以和图3不同,本申请实施例对此不作限定。
需要说明的是:图2和图3中,手指从屏幕顶部左边窗口101向下滑打开控制中心的显示界面,从屏幕顶部右边窗口102向下滑打开服务中心的显示界面仅是一种示例,在其他实施例中,交互方式也可为:手指从屏幕顶部左边窗口101向下滑打开服务中心的显示界面,从屏幕顶部右边窗口102向下滑打开控制中心的显示界面。
或者,将屏幕底部窗口20进一步分为:屏幕底部左边窗口201和屏幕底部右边窗口202,交互方式可以为:手指从屏幕底部左边窗口201向上滑打开控制中心的显示界面,从屏幕底部右边窗口202向上滑打开服务中心的显示界面;或者手指从屏幕底部左边窗口201向上滑打开服务中心的显示界面,从屏幕底部右边窗口202向上滑打开控制中心的显示界面。
或者,交互方式可以为:手指从屏幕左部窗口301向右滑打开控制中心的显示界面,手指从屏幕右部窗口302向左滑打开服务中心的显示界面;或者手指从屏幕左部窗口301向右滑打开服务中心的显示界面,手指从屏幕右部窗口302向左滑打开控制中心的显示界面。
本申请实施例以图2和图3所示交互方式为例说明本申请实施例的方案。用户可以在电子设备显示第一界面时,执行图2或图3示意的操作。第一界面可以是桌面或者任一应用程序中的界面,本申请实施例对第一界面不限定。
以下四种实现方式均可实现图2和图3所示交互,这四种实现方式分别为:
第一种实现方式:电子设备包括两个进程,分别为通知栏进程和服务中心进程,通知栏进程和控制中心的显示界面关联,服务中心进程和服务中心的显示界面关联。屏幕顶部窗口10对应通知栏进程中的一个视图组件。用户手指从屏幕顶部窗口10向下滑时,该视图组件判断用户手指是从屏幕顶部左边窗口101向下滑还是屏幕顶部右边窗口102向下滑,若是从屏幕顶部左边窗口101向下滑,则绘制控制中心的显示界面,使得电子设备显示控制中心的显示界面。若是从屏幕顶部右边窗口102向下滑,则启动服务中心进程,使得服务中心进程绘制服务中心的显示界面,从而使电子设备显示服务中心的显示界面。
本申请实施例中,这种实现方式下,屏幕顶部窗口10也称为第一区域,屏幕顶部窗口10对应通知栏进程,通知栏进程也称为第一进程。通知栏进程在电子设备显示第一界面时运行。服务中心进程也称为第二进程。屏幕顶部左边窗口101也称为第一区域的第一子区域,屏幕顶部右边窗口102也称为第一区域的第二子区域。屏幕顶部左边窗口101内任一位置也称为第一位置。屏幕顶部右边窗口102内任一位置也称为第二位置。手指从屏幕顶部右边窗口102向下滑称为在第一位置的第一滑动操作,手指从屏幕顶部左边窗口101向下滑称为在第二位置的第二滑动操作。服务中心的显示界面也称为第二界面,控制中心的显示界面也称为第三界面。
第二种实现方式:电子设备包括两个进程,分别为通知栏进程和服务中心进程,通知栏进程和控制中心的显示界面关联,服务中心进程和服务中心的显示界面关联。屏幕顶部左边窗口101对应通知栏进程的一个视图组件,本申请实施例中将该视图组件简称为第一视图组件,屏幕顶部右边窗口102对应通知栏进程的另一视图组件,本申请实施例中将该视图组件简称为第二视图组件,用户手指从屏幕顶部左边窗口101向下滑时,第一视图组件绘制控制中心的显示界面,使得电子设备显示控制中心的显示界面。用户手指从屏幕顶部右边窗口102向下滑时,第二视图组件启动服务中心进程,使得服务中心进程绘制服务中心的显示界面,从而使电子设备显示服务中心的显示界面。
本申请实施例中,这种实现方式下,同上述实现方式,屏幕顶部窗口10也称为第一区域,屏幕顶部窗口10对应通知栏进程,通知栏进程也称为第一进程。通知栏进程在电子设备显示第一界面时运行。服务中心进程也称为第二进程。屏幕顶部左边窗口101也称为第一区域的第一子区域,屏幕顶部右边窗口102也称为第一区域的第二子区域。屏幕顶部右边窗口102内任一位置也称为第一位置。屏幕顶部左边窗口101内任一位置也称为第二位置。手指从屏幕顶部右边窗口102向下滑称为在第一位置的第一滑动操作,手指从屏幕顶部左边窗口101向下滑称为在第二位置的第二滑动操作。服务中心的显示界面也称为第二界面,控制中心的显示界面也称为第三界面。
第三种实现方式:电子设备包括三个进程,分别为通知栏进程、服务中心进程以及中间进程。通知栏进程和控制中心的显示界面关联,服务中心进程和服务中心的显示界面关联。屏幕顶部左边窗口101对应通知栏进程的一个视图组件,本申请实施例中将该视图组件简称为第三视图组件,屏幕顶部右边窗口102对应中间进程的一个视图组件,本申请实施例中将该视图组件简称为第四视图组件,用户手指从屏幕顶部左边窗口101向下滑时,第三视图组件绘制控制中心的显示界面,使得电子设备显示控制中心的显示界面。用户手指从屏幕顶部右边窗口102向下滑时,第四视图组件启动服务中心进程,使得服务中心进程绘制服务中心的显示界面,从而使电子设备显示服务中心的显示界面。
本申请实施例中,这种实现方式下,屏幕顶部右边窗口102也称为第一区域,屏幕顶部右边窗口102对应中间进程,中间进程也称为第一进程。中间进程在电子设备显示第一界面时运行。服务中心进程也称为第二进程。屏幕顶部右边窗口102内任一位置也称为第一位置。手指从屏幕顶部右边窗口102向下滑称为在第一位置的第一滑动操作,屏幕顶部左边窗口101内任一位置也称为第二位置。手指从屏幕顶部左边窗口101向下滑称为在第二位置的第二滑动操作。
第四种实现方式:电子设备包括两个进程,分别为通知栏进程和服务中心进程,屏幕顶部左边窗口101对应通知栏进程的一个视图组件,本申请实施例中将该视图组件简称为第五视图组件,屏幕顶部右边窗口102对应服务中心进程的一个视图组件,本申请实施例中将该视图组件简称为第六视图组件,用户手指从屏幕顶部左边窗口101向下滑时,第五视图组件绘制控制中心的显示界面,用户手指从屏幕顶部右边窗口102向下滑时,第六视图组件绘制服务中心的显示界面。
本申请实施例对第一种实现方式进行详细说明。
为了使用户在屏幕顶部窗口10的触控操作随时得到响应,通知栏进程可以是常驻的,也就是说,电子设备开机后,通知栏进程便自动启动。
为方便说明,本申请实施例中将手指按在屏幕上这一操作简称为按下操作,电子设备接收到按下操作后,操作系统会生成按下操作对应的触屏事件,本申请实施例中将该触屏事件称为按下事件。本申请实施例中将手指在屏幕上移动这一操作简称为移动操作,电子设备接收到移动操作后,操作系统会生成移动操作对应的触屏事件,本申请实施例中将该触屏事件称为移动事件。本申请实施例中将手指从屏幕上抬起这一操作简称为抬起操作,电子设备接收到抬起操作后,操作系统会生成抬起操作对应的触屏事件,本申请实施例中将该触屏事件称为抬起事件。
针对第一种实现方式,图4为本申请实施例提供的事件分发流程图一。具体包括:
S401、操作系统将按下事件发送给第一进程。
具体的,按下事件携带按下操作的坐标,操作系统可根据按下操作的坐标,确定按下操作所处的窗口,将按下事件发送给该窗口对应的进程。图3所示场景中,按下操作在屏幕顶部窗口10,则可将按下事件发送给屏幕顶部窗口10对应的进程,即第一进程。
第一进程接收到按下事件后,将按下事件发给屏幕顶部窗口10对应的视图组件,该视图组件根据按下操作的坐标判断按下操作处在屏幕顶部左边窗口101还是屏幕顶部右边窗口102,若处在屏幕顶部左边窗口101,后续接收到移动事件和抬起事件后,根据移动事件和抬起事件绘制控制中心的显示界面。若处在屏幕顶部右边窗口102,则执行S402。
S402、向第二进程发送启动指令。
S403、第二进程启动。
S404、第二进程向第一进程发送启动成功消息。
S405、第一进程向第二进程发送服务绑定请求。
S406、第二进程向第一进程反馈绑定成功消息。
S407、操作系统将移动事件发送给第一进程。
由于按下操作、移动操作和抬起操作是连续发生的,操作系统将按下事件发送给某个进程后,也会将移动事件发送给该进程,在图3所示场景下操作系统将按下事件发给了第一进程,则直接将移动事件也发送给第一进程。
需要说明的是:手指是连续移动的,每次移动都会触发操作系统生成一次移动事件,操作系统每次生成移动事件后,都会将移动事件发送给第一进程。
S408、第一进程接收到第二进程反馈的启动成功消息后,将移动事件转发给第二进程。
需要说明的是:第一进程接收到操作系统发送的某个移动事件后,若此时还未收到第二进程反馈的启动成功消息,则不会将该移动事件转发给第二进程。比如:在操作系统向第一进程发送移动事件i-1和移动事件i的间隔内,第二进程向第一进程反馈了启动成功消息,第一进程在接收到移动事件i-1后,由于此时还未收到第二进程反馈的启动成功消息,因此不会将该移动事件i-1转发给第二进程,而在接收到移动事件i后,由于此时已经接收到第二进程反馈的启动成功消息,因此会将该移动事件i转发给第二进程。需要说明的是:由于第二进程并没有接收到移动事件i-1以及移动事件i-1之前的移动事件,因此第二进程无法对这些移动事件作出响应。
S409、第二进程根据移动事件,绘制手指位置处的界面。
具体的,移动事件携带手指移动后的坐标,第二进程接收到的第一个移动事件后,根据第一个移动事件携带的坐标,绘制得到第一帧界面;接收到的第二个移动事件后,根据第二个移动事件携带的坐标,绘制得到第二帧界面;接收到的第n个移动事件后,根据第n个移动事件携带的坐标,绘制得到第N帧界面,从而实现跟手效果。
S4010、操作系统将抬起事件发送给第一进程。
同移动事件,操作系统将按下事件发送给某个进程后,也会将抬起事件发送给该进程,在图3所示场景下操作系统将按下事件发给了第一进程,则直接将抬起事件也发送给第一进程。
S4011、第一进程将抬起事件转发给第二进程。
同移动事件,第一进程接收到第二进程反馈的启动成功消息后,才会将抬起事件转发给第二进程。
S4012、第二进程根据抬起事件,绘制整个界面或者关闭第二进程。
一种可能的实现方式中,抬起事件携带抬起操作的坐标,第二进程可根据按下事件携带的坐标和抬起事件携带的坐标,确定手指移动的距离,若手指移动的距离达到预设值,则绘制整个界面,若未达到预设值,则关闭第二进程。
一种可能的实现方式中,抬起事件也可不携带坐标,第二进程接收到抬起事件后,直接绘制整个界面。
需要说明的是:在第二种实现方式中,操作系统将按下事件发送给第一进程后,第一进程可根据按下操作的坐标,判断是由第一视图组件来处理该按下事件还是由第二视图组件来处理该按下事件,若判断得到由第一视图组件来处理该按下事件,则将按下事件发给第一视图组件,后续接收到移动事件和抬起事件后,也会将移动事件和抬起事件发给第一视图组件,第一视图组件根据移动事件和抬起事件绘制控制中心的显示界面。若判断得到由第二视图组件来处理该按下事件,则将按下事件发给第二视图组件,第二视图组件接收到按下事件后执行S402,之后的步骤均和图4所示实施例类似,本申请实施例在此不再赘述。
在第三种实现方式中,第一进程接收到按下事件后,将按下事件发给第四视图组件,第四视图组件无需判断按下操作处在屏幕顶部左边窗口101还是屏幕顶部右边窗口102,直接执行S402即可。
在第四种实现方式中,操作系统将按下事件、移动事件和抬起事件直接发送给第二进程,第二进程将按下事件、移动事件和抬起事件发给第六视图组件,第六视图组件根据移动事件和抬起事件绘制服务中心的显示界面。
图4所示实施例中,从用户输入按下操作到第一帧界面出现包含四部分时延,分别为第一进程启动第二进程(对应S402-S404)、第一进程绑定第二进程的服务(对应S405和S406),第一进程向第二进程转发移动事件(对应S408),第二进程绘制得到第一帧界面(对应S409)。在一些实施例中,第一进程启动第二进程的时延为200ms,第一进程绑定第二进程的服务的时延为150ms,第一进程向第二进程转发移动事件的时延为50ms,第二进程绘制得到第一帧界面的时延为100ms,即上述实施例端到端的时延为500ms,该时延过长,会导致用户有感受不及时、不连续以及控制感低的问题,用户体验不高。
图4所示事件分发方法可应用于图5所示电子设备,该电子设备包括:硬件输入设备、操作系统以及应用进程。其中,硬件输入设备可包括:屏幕、键盘、鼠标和/或游戏手柄。操作系统包括:设备节点和输入模块。应用进程包括第一进程和第二进程。
设备节点包括操作系统为每个硬件输入设备创建的节点,图5中使用设备节点1表示操作系统为屏幕创建的节点,使用设备节点2表示操作系统为键盘创建的节点,使用设备节点3表示操作系统为鼠标创建的节点,使用设备节点4表示操作系统为游戏手柄的节点。输入模块用于监控各个节点是否有数据可读,若有,则将数据读取出来,并对数据进行解析和加工,生成触屏事件。
本申请实施例以用户通过屏幕和电子设备交互为例说明本申请实施例的方案,在其他实施例中,用户也可通过键盘、鼠标和/或游戏手柄和电子设备交互,这些情况下,事件分发方法和本申请实施例类似,本申请实施例在此不再赘述。
下面介绍用户执行按下操作时各个模块的功能:
用户执行按下操作时,屏幕会向设备节点1发送硬件中断,该硬件中断指示用户将手指按在屏幕上,该硬件中断携带按下操作的坐标,设备节点1接收到该硬件中断后,将该硬件中断加工为原始按下事件,并将原始按下事件写入设备节点1中。输入模块从设备节点1中读取该原始按下事件,并对该原始按下事件进行解析和加工,生成按下事件。
输入模块还用于根据按下操作的坐标,确定按下操作所处的窗口,将按下事件发送给该窗口对应的进程。图3所示场景中,按下操作在屏幕顶部窗口,则可将按下事件发送给屏幕顶部窗口对应的进程,即第一进程。
下面介绍用户执行移动操作时各个模块的功能:
用户执行移动操作时,同样的,屏幕会向设备节点1发送硬件中断,该硬件中断指示用户手指在屏幕上发生移动,该硬件中断携带移动后的坐标,设备节点1接收到该硬件中断后,将该硬件中断加工为原始移动事件,并将原始移动事件写入设备节点1中。输入模块从设备节点1中读取该原始移动事件,并对该原始移动事件进行解析和加工,生成移动事件。需要注意的是,手指是连续移动的,每次移动都会触发屏幕向设备节点1发送硬件中断,使输入模块生成一次移动事件。
下面介绍用户执行抬起操作时各个模块的功能:
用户执行抬起操作时,同样的,屏幕会向设备节点1发送硬件中断,该硬件中断指示用户手指从屏幕上抬起,该硬件中断可携带抬起操作的坐标,设备节点1接收到该硬件中断后,将该硬件中断加工为原始抬起事件,并将原始抬起事件写入设备节点1中。输入模块从设备节点1中读取该原始抬起事件,并对该原始抬起事件进行解析和加工,生成抬起事件。
事件通道是输入模块向各个进程分发事件的媒介,输入模块存储有事件通道列表,该事件通道列表包括各个进程启动时,向输入模块注册的事件通道。当输入模块确定将按下事件发送给第一进程时,在事件通道列表中找到第一进程对应的事件通道,通过该事件通道将按下事件发送给第一进程。移动事件和抬起事件类似,本申请实施例不再赘述。
示例性的,图6示出了事件通道列表的一种可能的形式,图6中使用事件通道1表示第一进程启动时向操作系统注册的事件通道,使用事件通道2表示第二进程启动时向操作系统注册的事件通道。
当图5所示电子设备为安卓系统时,参见图7所示,图5中的输入模块可以为系统服务(System Server)进程中的输入管理服务(InputManagerService,IMS)。System Server进程还包括窗口管理服务(WindowManagerService,WMS)。WMS包括窗口堆栈(WindowStack),Window Stack中记录所有窗口的信息,窗口信息可包括窗口坐标。IMS包括输入调度模块(InputDispatcher),InputDispatcher包括:用于和Window Stack交互的输入窗口句柄(InputWindowHandle)以及事件通道列表(InputChannel)。如上文描述,输入模块有如下功能:根据按下操作的坐标,确定按下操作所处的窗口。下面介绍如何通过图7所示架构实现上述功能:
InputWindowHandle根据按下操作的坐标和Window Stack记录的所有窗口的信息,查询按下操作的坐标落在了哪个窗口内,将查询到的窗口作为按下操作所处的窗口。结合图3所示场景,根据按下操作的坐标可查询到屏幕顶部窗口为按下操作所处的窗口。
图8为本申请实施例提供的事件分发流程图二。具体包括::
S801、操作系统将按下事件发送给第一进程。
S802、第一进程向第二进程发送启动指令。
S803、第二进程启动。
S804、第二进程向第一进程发送启动成功消息。
S801-S804的实现过程可参见上述实施例中的S401-S404,本申请实施例在此不再赘述。
S805、第一进程接收到第二进程反馈的启动成功消息后,向操作系统注册事件转发。
一种可能的实现方式中,第一进程可通过如下方式向操作系统注册事件转发:
第一进程向操作系统发送注册指令,该注册指令中携带待转发事件标识、原始事件通道标识以及第二进程标识。操作系统接收到注册指令后,根据待转发事件标识确定第一进程注册的待转发事件,根据原始事件通道标识确定第一进程注册的原始事件通道,根据第二进程标识,从事件通道列表中查询第二进程对应的事件通道,将第二进程对应的事件通道作为第一进程注册的目标事件通道。操作系统进一步将第一进程的注册信息添加至事件转发列表中。
一种可能的实现方式中,第二进程标识可以为第二进程的包名、也可以为第二进程的ID,也可以为其他能够唯一标识第二进程的参数,本申请实施例对此不限定。
示例性的,图9示出了事件转发列表的一种可能的形式,图9中,第一进程注册的待转发事件为触屏事件,第一进程注册的原始事件通道为事件通道1,第一进程注册的目标事件通道为事件通道2。进程2注册的待转发事件为触屏事件,进程2注册的原始事件通道为事件通道3,进程2注册的目标事件通道为事件通道4;进程3注册的待转发事件为触屏事件,进程3注册的原始事件通道为事件通道5,进程2注册的目标事件通道为事件通道6。
需要说明的是:第一进程是在合适的时机才会向操作系统注册事件转发,本申请实施例中第一进程是在接收到第二进程反馈的启动成功消息后才会向操作系统注册事件转发。另外,第一进程会在合适的时机向操作系统解注册事件转发,以使操作系统将事件转发列表中第一进程和第一进程的注册信息删除,使得事件转发注册不会影响其他场景下第一进程和第二进程的响应。本申请实施例中第一进程在接收到抬起事件后,向操作系统解注册事件转发。
S806、操作系统根据事件通道列表和事件转发列表,确定移动事件的接收进程。
一种可能的实现方式中,可通过如下方式确定移动事件的接收进程:
操作系统生成移动事件后,先从事件通道列表中查找第一进程对应的事件通道,然后在事件转发列表查找第一进程的注册信息,若能查到第一进程的注册信息,进一步判断注册信息中待转发事件是否为触屏事件,并且判断从事件通道列表中找到的事件通道和注册信息中原始事件通道是否能够匹配上,若待转发事件为触屏事件且从事件通道列表中找到的事件通道和注册信息中原始事件通道能够匹配上,则确定第一进程和第二进程均为移动事件的接收进程,接着执行S807。若在事件转发列表查不到第一进程的注册信息,或者能查到第一进程的注册信息但注册信息中待转发事件不是触屏事件,或者能查到第一进程的注册信息但从事件通道列表中找到的事件通道和注册信息中原始事件通道匹配不上,则确定第一进程为移动事件的接收进程。
下面结合图6所示事件通道列表和图9所示事件转发列表举例说明:
操作系统生成移动事件后,从图6所示事件通道列表中查到第一进程对应的事件通道为事件通道1,然后从图9所示事件转发列表中查找第一进程的注册信息,由于第一进程的注册信息中待转发事件为触屏事件,并且原始事件通道也是事件通道1,则可确定第一进程和第二进程均为移动事件的接收进程。
需要说明的是:如上文描述手指是连续移动的,每次移动都会触发操作系统生成一次移动事件,操作系统每次生成移动事件后,针对每个移动事件,均可使用上述方法确定接收该移动事件的接收进程。
S807、操作系统将移动事件发送给第一进程和第二进程。
操作系统可通过原始事件通道将移动事件发送给第一进程,通过目标事件通道将移动事件发送给第二进程。第一进程接收到移动事件都不作任何处理。第二进程接收到移动事件后执行S808。
S808、第二进程根据移动事件,绘制手指位置处的界面。
具体的,移动事件携带手指移动后的坐标,第二进程接收到的第一个移动事件后,根据第一个移动事件携带的坐标,绘制得到第一帧界面;接收到的第二个移动事件后,根据第二个移动事件携带的坐标,绘制得到第二帧界面;接收到的第n个移动事件后,根据第n个移动事件携带的坐标,绘制得到第N帧界面,从而实现跟手效果。
S809、操作系统根据事件通道列表和事件转发列表,确定抬起事件的接收进程。
和移动事件类似,可通过如下方式确定抬起事件的接收进程:
操作系统生成抬起事件后,先从事件通道列表中查找第一进程对应的事件通道,然后在事件转发列表查找第一进程的注册信息,若能查到第一进程的注册信息,进一步判断注册信息中待转发事件是否为触屏事件,并且判断从事件通道列表中找到的事件通道和注册信息中原始事件通道是否能够匹配上,若待转发事件为触屏事件且从事件通道列表中找到的事件通道和注册信息中原始事件通道能够匹配上,则确定第一进程和第二进程均为抬起事件的接收进程,接着执行S8010。若在事件转发列表查不到第一进程的注册信息,或者能查到第一进程的注册信息但注册信息中待转发事件不是触屏事件,或者能查到第一进程的注册信息但从事件通道列表中找到的事件通道和注册信息中原始事件通道匹配不上,则确定第一进程为抬起事件的接收进程。
S8010、操作系统将抬起事件发送给第一进程和第二进程。
操作系统可通过原始事件通道将抬起事件发送给第一进程,通过目标事件通道将抬起事件发送给第二进程。
S8011、第一进程向操作系统解注册事件转发。
一种可能的实现方式中,第一进程可通过如下方式向操作系统解注册事件转发:
第一进程可向操作系统发送解注册指令,操作系统接收到该解注册指令后,将事件转发列表中第一进程和第一进程的注册信息删除。
S8012、第二进程根据抬起事件,绘制整个界面或者关闭第二进程。
一种可能的实现方式中,抬起事件携带抬起操作的坐标,第二进程可根据按下事件携带的坐标和抬起事件携带的坐标,确定手指移动的距离,若手指移动的距离达到预设值,则绘制整个界面,若未达到预设值,则关闭第二进程。
一种可能的实现方式中,抬起事件也可不携带坐标,第二进程接收到抬起事件后,直接绘制整个界面。
需要说明的是:通常情况下,应用进程在接收到按下事件时会确定界面的哪一个视图组件来处理该按下事件,界面的视图组件包括以下至少一种:View、ViewGroup或Activity;一旦确定了视图组件,那么后续的移动事件以及抬起事件都是交给该视图组件来处理。但是本申请实施例中,第二进程接收到移动事件前没有接收过按下事件,所以并不知道移动事件以及抬起事件应该交给哪个视图组件来处理。为了解决这个问题,第二进程启动时可指定一个视图组件来处理第二进程接收到的移动事件和抬起事件,第二进程在接收到移动事件和抬起事件时,直接将移动事件和抬起事件交给该视图组件进行处理即可。
一种可能的实现方式中,可在第二进程设计一个注册事件接收者的接口,第二进程启动时通过该接口指定一个视图组件来处理第二进程接收到的移动事件和抬起事件。
一种可能的实现方式中,操作系统还可在移动事件和按下事件上打上转发标签,第二进程接收到操作系统发送的事件后,检查该事件是否被打上转发标签,若被打上转发标签,则交给指定的视图组件进行处理即可。
图8所示实施例中,不存在图4所示实施例中第一进程绑定第二进程的服务的过程,而且移动事件和抬起事件均是由操作系统直接发送给第二进程,而不是通过第一进程跨进程传递。图8所示实施例,从用户输入按下操作到第一帧界面出现包含两部分时延,分别为第一进程启动第二进程和第二进程绘制得到第一帧界面,第一进程启动第二进程的时延为200ms,第二进程绘制得到第一帧界面的时延为100ms,即上述实施例端到端的时延为300ms,和图4所示实施例相比,降低了时延,提升了用户体验。
图8所示事件分发方法可应用于图10所示电子设备,该电子设备包括:硬件输入设备、操作系统以及应用进程。其中,硬件输入设备可包括:屏幕、键盘、鼠标和/或游戏手柄。操作系统包括:设备节点和输入模块。应用进程包括第一进程和第二进程。图10中各个模块的功能和图5类似,本申请实施例在此不再赘述。和图5示意的电子设备不同的是,图10所示电子设备中,输入模块包括事件转发子模块1001。第二进程包括注册事件接收者的接口1002。
硬件输入设备和设备节点的功能介绍参见图5所示实施例,本申请实施例在此不再赘述。
事件转发子模块1001用于接收第一进程发送的注册指令,并根据该注册指令确定第一进程的注册信息,并将第一进程的注册信息添加至事件转发列表中。详细过程参见S805中操作系统的步骤,本申请实施例在此不再赘述。
输入模块用于根据事件通道列表和事件转发列表,确定移动事件的接收进程,当第一进程和第二进程均为移动事件的接收进程时,将移动事件发送给第一进程和第二进程。详细过程参见S806-S807中操作系统的步骤,本申请实施例在此不再赘述。
第二进程用于根据移动事件,绘制手指位置处的界面,详细过程参见S808的介绍,本申请实施例在此不再赘述。
输入模块还用于根据事件通道列表和事件转发列表,确定抬起事件的接收进程,当第一进程和第二进程均为抬起事件的接收进程时,将抬起事件发送给第一进程和第二进程。详细过程参见S809-S8010中操作系统的步骤,本申请实施例在此不再赘述。
第一进程用于接收到抬起事件后,向操作系统解注册事件转发。详细过程参见S8011的介绍,本申请实施例在此不再赘述。
第二进程还用于根据抬起事件,绘制整个界面或者关闭第二进程。详细过程参见S8012的介绍,本申请实施例在此不再赘述。
注册事件接收者的接口1002用于第二进程启动时,指定用于处理第二进程接收到的事件的视图组件。
当电子设备为安卓系统时,参见图11所示,图10中的输入模块可以为系统服务(System Server)进程中的输入管理服务(InputManagerService,IMS)。System Server进程还包括窗口管理服务(WindowManagerService,WMS)。WMS包括窗口堆栈(Window Stack),Window Stack中记录所有窗口的信息,窗口信息可包括窗口坐标。IMS包括输入调度模块
(InputDispatcher),InputDispatcher包括:用于和Window Stack交互的输入窗口句柄(InputWindowHandle)以及事件通道列表(InputChannel)。事件转发子模块1001为输入转发模块(Input Forwarding)。WMS、Window Stack以及InputChannel和图5所示实施例类似,本申请实施例在此不再赘述。Input Forwarding功能和图10中事件转发子模块1001类似,本申请实施例在此不再赘述。
图12为本申请适用的电子设备100的一种结构示意图,如图12所示,该电子设备100可以包括:处理器110,触摸传感器120,显示屏130,键盘140、鼠标150和游戏手柄160。可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100系统的效率。
电子设备100通过GPU,显示屏130,以及应用处理器等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏130和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。
显示屏130用于显示图像,视频等。显示屏130包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏130,N为大于1的正整数。
触摸传感器120也可称触控面板或触敏表面。触摸传感器120可以设置于显示屏130,由触摸传感器120与显示屏130组成触摸屏,也称触控屏。触摸传感器120用于检测作用于其上或附近的触摸操作。触摸传感器120可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏130提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器120也可以设置于电子设备100的表面,与显示屏130所处的位置不同。
键盘140、鼠标150、游戏手柄160以及触摸传感器120用于向对应节点发送硬件中断。一种可能的实现方式中,用户在触摸屏执行按下操作时,触摸传感器120用于向对应节点发送硬件中断,该硬件中断指示用户将手指按在触摸屏上,该硬件中断携带按下操作的坐标。用户在触摸屏执行移动操作时,触摸传感器120用于向对应节点发送硬件中断,该硬件中断指示用户手指在触摸屏上发生移动,该硬件中断携带移动后的坐标。用户在触摸屏执行抬起操作时,触摸传感器120用于向对应节点发送硬件中断,该硬件中断指示用户手指从触摸屏上抬起,该硬件中断可携带抬起操作的坐标。
图13是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图13所示,应用程序层内可以安装相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。应用程序层包括第一进程和第二进程。
在一些实施例中,第一进程用于接收按下事件,并在接收到按下事件后,向第二进程发送启动指令。还用于接收到第二进程反馈的启动成功消息后,向第二进程发送服务绑定请求,并在接收到第二进程反馈的启动成功消息后,将移动事件转发给第二进程。第二进程用于根据移动事件,绘制手指位置处的界面。第一进程还用于将抬起事件转发给第二进程。第二进程还用于程根据抬起事件,绘制整个界面或者关闭第二进程。详细过程参见上文描述,本申请实施例在此不再赘述。
在另一些实施例中,第一进程用于接收按下事件,并在接收到按下事件后,向第二进程发送启动指令。还用于接收到第二进程反馈的启动成功消息后,向IMS注册事件转发。还用于接收到抬起事件后,向IMS解注册事件转发。第二进程用于根据移动事件,绘制手指位置处的界面。还用于根据抬起事件,绘制整个界面或者关闭第二进程。详细过程参见上文描述,本申请实施例在此不再赘述。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层可以包括输入管理服务(input manager service,IMS)。当然,应用程序框架层中还可以包括显示策略服务、电源管理服务(power manager service,PMS)、显示管理服务(display manager service,DMS)、活动管理器、窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等,本申请实施例对此不作任何限制。
在一些实施例中,结合图3所示场景,由于按下操作在屏幕顶部右边窗口,IMS则将按下事件发送给屏幕顶部右边窗口对应的进程,即第一进程。由于按下操作、移动操作和抬起操作是连续发生的,IMS将按下事件发送给某个进程后,也会将移动事件发送给该进程,在图3所示场景下IMS将按下事件发给了第一进程,则直接将移动事件和抬起事件也发送给第一进程。详细过程参见上文描述,本申请实施例在此不再赘述。
在另一些实施例中,IMS根据事件通道列表和事件转发列表,确定移动事件的接收进程,若第一进程和第二进程均为移动事件的接收进程,则将移动事件发送给第一进程和第二进程。同样的,根据事件通道列表和事件转发列表,确定抬起事件的接收进程。若第一进程和第二进程均为抬起事件的接收进程,则将抬起事件发送给第一进程和第二进程。由于该方法中移动事件和抬起事件均是由操作系统直接发送给第二进程,而不是通过第一进程跨进程传递。降低了时延,提升了用户体验。详细过程参见上文描述,本申请实施例在此不再赘述。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:状态监测服务,表面管理器(surfacemanager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的物理状态等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动,TP驱动,摄像头驱动,音频驱动以及设备节点等,本申请实施例对此不做任何限制。
设备节点包括操作系统为每个硬件输入设备创建的节点,比如操作系统为屏幕创建的节点,操作系统为键盘创建的节点,操作系统为鼠标创建的节点,操作系统为游戏手柄的节点等。IMS用于监控各个节点是否有数据可读,若有,则将数据读取出来,并对数据进行解析和加工,生成触屏事件。
用户执行按下操作时,设备节点接收到硬件中断后,将该硬件中断加工为原始按下事件,并将原始按下事件写入该设备节点中。IMS从该设备节点中读取该原始按下事件,并对该原始按下事件进行解析和加工,生成按下事件。
用户执行移动操作时,设备节点接收到硬件中断后,将该硬件中断加工为原始移动事件,并将原始移动事件写入该设备节点中。IMS从该设备节点中读取该原始移动事件,并对该原始移动事件进行解析和加工,生成移动事件。
用户执行抬起操作时,设备节点接收到硬件中断后,将该硬件中断加工为原始抬起事件,并将原始抬起事件写入该设备节点中。IMS从该设备节点中读取该原始抬起事件,并对该原始抬起事件进行解析和加工,生成抬起事件。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种界面显示方法,其特征在于,应用于电子设备,所述方法包括:
显示第一界面,所述第一界面包括第一区域,所述第一区域对应的第一进程在显示所述第一界面时运行;
检测用户的第一滑动操作;
响应于用户在所述第一区域的第一位置的所述第一滑动操作,基于所述第一进程启动第二进程,并显示与所述第二进程关联的第二界面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测用户的第二滑动操作,
响应于用户在所述第一区域的第二位置的所述第二滑动操作,显示与所述第一进程关联的第三界面;其中,所述第一位置位于所述第一区域的第一子区域,所述第二位置位于所述第一区域的第二子区域。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一进程启动第二进程,包括:
检测到所述第一滑动操作后,所述电子设备将所述第一滑动操作对应的事件分发给所述第一进程;所述第一进程根据所述第一位置的信息启动所述第二进程;所述电子设备将所述第一滑动操作对应的事件分发给所述第二进程。
4.根据权利要求2所述的方法,其特征在于,所述第一子区域和所述第二子区域对应不同的组件,所述基于所述第一进程启动第二进程,包括:
检测到所述第一滑动操作后,所述电子设备将所述第一滑动操作对应的事件分发给所述第一进程;所述电子设备基于所述第一子区域对应的组件的响应,启动所述第二进程,并将所述第一滑动操作对应的事件分发给所述第二进程。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述第一滑动操作对应的事件分发给所述第二进程,包括:
通过所述第一进程将所述第一滑动操作对应的事件转发给所述第二进程。
6.根据权利要求3或4所述的方法,其特征在于,所述将所述第一滑动操作对应的事件分发给所述第二进程,包括:
根据事件通道列表和事件转发列表,判断所述第二进程是否为接收事件的进程;
若是,则将所述第一滑动操作对应的事件分发给所述第二进程。
7.根据权利要求6所述的方法,其特征在于,所述根据事件通道列表和事件转发列表,判断所述第二进程是否为接收事件的进程,包括:
在所述事件通道列表中查找所述第一进程对应的事件通道;
在所述事件转发列表查找所述第一进程的注册信息;
根据在所述事件通道列表的查找结果和在所述事件转发列表的查找结果,判断所述第二进程是否为接收事件的进程。
8.根据权利要求7所述的方法,其特征在于,所述根据在所述事件通道列表的查找结果和在所述事件转发列表的查找结果,判断所述第二进程是否为接收事件的进程,包括:
若在所述事件转发列表中能查到所述第二进程的注册信息,则判断所述注册信息中待转发事件是否为触屏事件,并且判断在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道是否能够匹配上,若所述注册信息中待转发事件为触屏事件且在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道能够匹配上,则确定所述第二进程是接收事件的进程;
若在所述事件转发列表查不到所述第二进程的注册信息,或者能查到所述第二进程的注册信息但所述注册信息中待转发事件不是触屏事件,或者能查到所述第二进程的注册信息但在所述事件通道列表中查到的事件通道和所述注册信息中原始事件通道匹配不上,则确定所述第二进程不是接收事件的进程。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述方法还包括:
所述第一进程接收到所述第二进程发送的启动成功消息后,向所述电子设备的操作系统注册事件转发,以使所述操作系统将所述第一进程的注册信息添加至所述事件转发列表中。
10.根据权利要求9所述的方法,其特征在于,所述向所述电子设备的操作系统注册事件转发,包括:
所述第一进程向所述操作系统发送注册指令,所述注册指令携带待转发事件标识、原始事件通道标识以及所述第二进程的标识;
所述操作系统根据所述待转发事件标识,确定所述第一进程注册的待转发事件;
所述操作系统根据所述原始事件通道标识,确定所述第一进程注册的原始事件通道;
所述操作系统根据所述第二进程的标识,从所述事件通道列表中查询所述第二进程对应的事件通道,并将所述第二进程对应的事件通道作为所述第一进程注册的目标事件通道。
11.根据权利要求9或10所述的方法,其特征在于,所述第一滑动操作对应的事件包括抬起事件,所述方法还包括:
所述第一进程接收到所述抬起事件后,向所述操作系统发送解注册指令;
所述操作系统接收到所述解注册指令后,将所述第一进程的注册信息从所述事件转发列表中删除。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述第一区域为桌面通知栏区域,所述第一进程为所述桌面通知栏区域对应的进程。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述第二界面为包括多个服务组件的页面,所述多个服务组件可以提供多个不同应用或多个不同服务的信息,且所述多个服务组件为用户可交互的组件。
14.根据权利要求2所述的方法,其特征在于,所述第三界面为显示控制面板,和/或,控制面板的界面。
15.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储可执行指令,所述可执行指令被所述处理器执行时使得所述电子设备实现权利要求1-14任一项所述的方法。
16.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序在被执行时,实现上述权利要求1-14任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552712.4A CN115390952A (zh) | 2021-05-20 | 2021-05-20 | 界面显示方法和设备 |
PCT/CN2022/085707 WO2022242356A1 (zh) | 2021-05-20 | 2022-04-08 | 界面显示方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552712.4A CN115390952A (zh) | 2021-05-20 | 2021-05-20 | 界面显示方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390952A true CN115390952A (zh) | 2022-11-25 |
Family
ID=84113630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110552712.4A Pending CN115390952A (zh) | 2021-05-20 | 2021-05-20 | 界面显示方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115390952A (zh) |
WO (1) | WO2022242356A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892381B (zh) * | 2024-03-14 | 2024-05-10 | 中国西安卫星测控中心 | 一种基于时间与事件的指挥显示大屏设计方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6617422B2 (ja) * | 2015-03-27 | 2019-12-11 | 富士通株式会社 | ウィンドウ設定方法、プログラム及び表示制御装置 |
CN105955802B (zh) * | 2016-04-21 | 2020-06-12 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的应用运行方法及移动终端 |
CN108255404B (zh) * | 2018-01-19 | 2021-07-16 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置及终端 |
CN108845751A (zh) * | 2018-06-21 | 2018-11-20 | Oppo广东移动通信有限公司 | 触控信息的处理方法、装置、存储介质及电子设备 |
CN109117060B (zh) * | 2018-08-01 | 2021-07-09 | Oppo广东移动通信有限公司 | 下拉通知栏显示方法、装置、终端及存储介质 |
-
2021
- 2021-05-20 CN CN202110552712.4A patent/CN115390952A/zh active Pending
-
2022
- 2022-04-08 WO PCT/CN2022/085707 patent/WO2022242356A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022242356A1 (zh) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347389B2 (en) | File processing method, terminal, and storage medium | |
US9542245B2 (en) | Processing user input events in a web browser | |
EP2372516B1 (en) | Methods, systems and computer program products for arranging a plurality of icons on a touch sensitive display | |
CN108334264B (zh) | 在便携式终端中用于提供多点触摸交互的方法和设备 | |
WO2021184375A1 (zh) | 执行手势指令的方法、装置、系统及存储介质 | |
US20190354384A1 (en) | Method for Launching Application, Storage Medium, and Terminal | |
US10877624B2 (en) | Method for displaying and electronic device thereof | |
CN103729065A (zh) | 触控操作映射到实体按键的系统及方法 | |
US20170199642A1 (en) | Display method of terminal device and terminal device | |
US11314391B2 (en) | Navigation bar controlling method and terminal | |
EP3757739A1 (en) | Method for display when exiting an application, and terminal | |
CN114138139B (zh) | 应用程序卡片的管理方法、电子设备及介质 | |
US20140351749A1 (en) | Methods, apparatuses and computer program products for merging areas in views of user interfaces | |
CN110865765A (zh) | 终端及地图控制方法 | |
CN115390952A (zh) | 界面显示方法和设备 | |
US20140043298A1 (en) | Method for moving contents and electronic device thereof | |
WO2023279980A1 (zh) | 一种转屏控制方法、装置及电子设备 | |
CN113805746B (zh) | 显示光标的方法和装置 | |
CN116679864B (zh) | 一种触控交互的处理方法及电子设备 | |
CN116700914B (zh) | 任务流转方法及电子设备 | |
WO2022252788A1 (zh) | 一种控制方法及电子设备 | |
CN116048317B (zh) | 一种显示方法及装置 | |
WO2024109220A1 (zh) | 显示卡片的方法、电子设备及可读存储介质 | |
CN113805737B (zh) | 文件传输方法、装置、计算机设备和存储介质 | |
CN118170302A (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 |