一种界面显示的方法和电子设备与流程

文档序号:30054463发布日期:2022-05-17 17:01阅读:64来源:国知局
一种界面显示的方法和电子设备与流程

1.本技术涉及终端领域,并且更具体地,涉及一种界面显示的方法和电子设备。


背景技术:

2.目前,多数终端设备(如手机、平板等)的界面,在应用支持的情况下,都可以基于屏幕方向的旋转而旋转,以配合用户横屏或者竖屏地观看。
3.一种可能的场景是,终端设备在屏幕休眠后,屏幕方向发生了旋转。屏幕唤醒后,终端设备通常会先显示转屏前的界面,然后再通过播放转屏动画,切换到转屏后的界面。比如,手机屏幕在休眠之前是竖屏显示的状态。在屏幕被唤醒前,若手机的屏幕被旋转90
°
,也即旋转为横屏显示状态,则屏幕一旦被唤醒,手机通常会先加载竖屏显示的布局,绘制界面后显示;然后计算屏幕方向,并在确定屏幕转为横屏的情况下,加载横屏显示的布局,绘制界面;最后加载并播放转屏动画。整个流程可能会耗费较多的时间,在手机屏幕被唤醒后的很长一段时间内,用户都无法进行屏幕操作。


技术实现要素:

4.本技术实施例提供了一种界面显示的方法和电子设备,以期在电子设备熄屏后发生屏幕旋转,又再次唤醒屏幕的情况下,缩短用户不可操作的等待时长。
5.第一方面,本技术提供了一种界面显示的方法,该方法可以由电子设备执行,或者,也可以由配置在电子设备中的处理器执行。本技术实施例对此不作限定。
6.示例性地,该方法包括:响应于用户对电子设备的屏幕唤醒操作,进行亮屏拦截,以阻止所述屏幕亮屏;绘制与所述屏幕方向相适应的界面;解除对所述屏幕的亮屏拦截,并基于所述屏幕方向显示所述界面。
7.基于上述方案,电子设备在熄屏后,可以基于检测到用户的屏幕唤醒操作,暂不亮屏显示,而是先获取到屏幕方向,基于屏幕方向进行布局加载和界面绘制,以得到适合当前屏幕方向的界面。电子设备可以在完成了界面绘制后,亮屏显示该界面。从而可以使得用户在亮屏后便可直接执行操作,用户不可操作的等待时长大大缩短。
8.结合第一方面,在某些可能的实现方式中,在所述响应于用户对电子设备的屏幕唤醒操作,进行亮屏拦截之前,所述方法还包括:在所述电子设备的屏幕方向为第一方向时,进入屏幕休眠。
9.一种可能的情况是,在所述电子设备的屏幕方向为第一方向时,检测到所述用户对所述电子设备的熄屏操作;响应于所述用户对所述电子设备的熄屏操作,进入屏幕休眠。
10.应理解,用户可以采用不同的操作方式来熄屏。本技术对于用户熄屏操作的具体操作方式不作限定。
11.另一种可能的情况是,在所述电子设备的屏幕方向为第一方向时,电子设备因待机时间达到预设门限而自动进入屏幕休眠。
12.应理解,本技术对于电子设备进入屏幕休眠的触发条件不作限定。
13.结合第一方面,在某些可能的实现方式中,在所述电子设备的屏幕方向转为第二方向时,检测到所述用户对所述电子设备的屏幕唤醒操作。
14.应理解,所述用户可以采用不同的操作方式来唤醒屏幕。本技术对于屏幕唤醒操作的具体操作方式不作限定。
15.基于上述方案,电子设备在熄屏后屏幕发生了旋转的情况下,即便检测到用户的屏幕唤醒操作,电子设备也可在亮屏后直接显示能够与屏幕方向相适应的界面。
16.与之相对,在当前技术中,电子设备在熄屏后若发生屏幕旋转,一旦检测到用户的屏幕唤醒操作,就需要执行熄屏前界面的布局加载和界面绘制,以及转屏动画的加载和播放等流程。而通过采用本技术提供的方案,电子设备熄屏前界面的布局加载和界面绘制,以及转屏动画的加载和播放等流程可以省去,大大缩短了用户不可操作的等待时长。
17.结合第一方面,在某些可能的实现方式中,在所述绘制与所述屏幕方向相适应的界面之前,所述方法还包括:获取所述电子设备的屏幕方向。
18.可选地,所述获取所述电子设备的屏幕方向,包括:通过传感器实时地采集数据;根据采集到的数据,计算所述屏幕方向。
19.通过传感器实时地采集数据,并根据采集到的数据实时地计算屏幕方向,可以使得后续获取屏幕方向的等待时间得以减少。
20.应理解,通过传感器实时地采集数据仅为一种可能的实现方式。随着技术的发展,当传感器的响应速度得以提升,比如在10毫秒(ms)以内可以完成数据采集、上报和屏幕方向的计算的情况下,该电子设备也可以在检测到用户的屏幕唤醒操作时,触发传感器采集和上报数据,进而计算屏幕方向。由此可以减小后台实时采集数据和计算所带来的较大功耗。
21.可选地,所述传感器为重力传感器。
22.应理解,通过重力传感器来采集用于计算屏幕方向的数据仅为一种可能的实现方式,不应对本技术实施例构成任何限定。本技术并不排除采用其他传感器来采集数据以用于计算屏幕方向的可能。
23.结合第一方面,在某些可能的实现方式中,所述对所述屏幕进行亮屏拦截,包括:将用于为所述屏幕提供光源的背光板的背光亮度设置为第一亮度值,以使得所述屏幕黑屏。
24.可选地,所述第一亮度值为0。或者,第一亮度值也可以为较小值。
25.应理解,将背光板的背光亮度设置为第一亮度值的目的在于,使得该背光板无法为屏幕提供足够的光源,使屏幕无法正常地显示界面。对于用户来说,当背光板的背光亮度被设置为第一亮度值时,该屏幕是黑屏的。
26.结合第一方面,在某些可能的实现方式中,所述解除对所述屏幕的亮屏拦截,包括:将所述背光板的背光亮度设置为第二亮度值,以使得所述屏幕点亮,所述第二亮度值大于所述第一亮度值。
27.应理解,将背光板的背光亮度设置为第二亮度值的目的在于,使得该背光板可以为屏幕提供充足的光源,使屏幕正常地显示界面。对于用户来说,当背光板的背光亮度被设置为第二亮度值时,该屏幕被点亮,用户可以正常观看屏幕界面。
28.还应理解,通过背光亮度来实现亮屏拦截和解除亮屏拦截仅为一种可能的实现方
式,本技术并不排除采用其他可能的方式来实现亮屏拦截和解除亮屏拦截的可能。
29.第二方面,提供了一种电子设备,所述电子设备用于执行第一方面及第一方面任一种可能实现方式中的方法。该电子设备可以包括用于执行上述第一方面及第一方面中任一种可能实现方式中的方法的各个模块或单元。应理解,所述各个模块或单元可通过执行计算机程序来实现相应的功能。
30.第三方面,提供了一种电子设备,所述电子设备包括存储器和处理器,所述处理器用于执行所述存储器中的程序指令,用于所述电子设备实现第一方面及第一方面任一种可能实现方式中的方法。
31.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被计算机或处理器执行时,用于实现第一方面及第一方面任一种可能实现方式中的方法。
32.第五方面,提供了一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机执行上述第一方面及第一方面任一种可能实现方式中的方法。
33.第六方面,提供了一种芯片上系统或系统芯片,所述芯片上系统或系统芯片可应用于电子设备,所述芯片上系统或系统芯片包括:至少一个通信接口,至少一个处理器,至少一个存储器,所述通信接口、存储器和处理器通过总线互联,所述处理器通过执行所述存储器中存储的指令,使得所述电子设备可执行如上述第一方面及第一方面任一种可能实现方式中的方法。
附图说明
34.图1是适用于本技术实施例提供的界面显示的方法的电子设备的结构示意图;
35.图2是适用于本技术实施例提供的界面显示的方法的电子设备的软件和硬件的结构框图;
36.图3是电子设备在屏幕休眠时发生转屏再唤醒屏幕的过程中所执行的流程的示意图;
37.图4至图6是本技术实施例提供的界面的示意图;
38.图7是本技术实施例提供的电子设备的x轴、y轴和z轴方向;
39.图8至图10是本技术实施例提供的界面显示的方法的示意性流程图。
具体实施方式
40.下面将结合附图,对本技术中的技术方案进行描述。
41.本技术实施例提供的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、个人计算机(personal computer,pc)、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、分布式设备等电子设备上。本技术实施例对电子设备的具体类型不作任何限定。
42.此外,本技术实施例中所述的方法可以支持linux、安卓(android)、鸿蒙操作系统(harmony operating system,harmony os)、mac、ios、windows和物联网操作系统(如liteos)等操作环境。本技术实施例对此不作任何限定。
43.示例性地,图1示出了电子设备100的结构示意图。如图1所示,该电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
44.可以理解的是,本技术示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
45.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、存储器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器及神经网络处理器(neural-network processing unit,npu)等中的一个或多个。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
46.其中,应用处理器通过音频模块170(如扬声器170a等)输出声音信号,或通过显示屏194显示图像或视频。
47.控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
48.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
49.处理器110可以通过执行指令,执行不同的操作,以实现不同的功能。该指令例如可以是设备出厂前预先保存在存储器中的指令,也可以是用户在使用过程中安装新的应用(application,app)之后从app中读取到的指令,本技术实施例对此不作任何限定。
50.本技术实施例提供的界面显示的方法的执行可以由处理器110来控制或调用其他部件来完成,比如调用内部存储器中存储的本技术实施例的处理程序,或者通过外部存储器接口调用第三方设备中存储的本技术实施例的处理程序,来控制显示屏暂不亮屏显示,而在按照正确的屏幕方向完成界面绘制后亮屏显示。在电子设备熄屏后发生屏幕旋转的情况下,可以减少不必要的流程,如熄屏前界面的布局加载和界面绘制流程,以及转屏动画的加载和播放流程,从而可以实现缩短用户等待时间,提高用户体验的效果。处理器110可以包括不同的器件,比如集成cpu和gpu时,cpu和gpu可以配合执行本技术实施例提供的界面显示方法,比如界面显示方法中部分算法由cpu执行,另一部分算法由gpu执行,以得到较快的处理效率。
51.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路
(inter-integrated circuit,i2c)接口、集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口、移动产业处理器接口(mobile industry processor interface,mipi)、通用输入输出(general-purpose input/output,gpio)接口、sim接口和/或usb接口等。
52.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
53.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
54.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
55.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
56.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
57.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
58.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
59.可以理解的是,本技术示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
60.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
61.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
62.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
63.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
64.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
65.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
66.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
67.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通
信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),第五代(5th generation,5g)通信系统,bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
68.电子设备100可以通过gpu、显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
69.显示屏194,也可以称为屏幕,可用于显示图像、视频等。显示屏194可包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled)、柔性发光二极管(flex light-emitting diode,fled),迷你led(mini led)、微led(micro led)、微oled(micro-oled)、量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括一个或多个显示屏194。
70.应理解,显示屏194还可以包括更多的组件。例如,背光板、驱动电路等。其中,背光板可用于提供光源,显示面板基于背光板提供的光源而发光。驱动电路可用于控制液晶层的液晶透光或不透光。
71.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
72.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
73.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括一个或多个摄像头193。
74.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
75.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
76.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
77.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
78.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
79.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x、y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
80.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。
81.加速度传感器180e还可以用于识别电子设备的姿态,应用于横竖屏切换、计步器等应用。下文所述的用于计算电子设备的屏幕方向的重力传感器即为加速度传感器180e的一种。重力传感器的数值单位一般用重力加速度g=9.8米/秒的平方(m/s2)来计。
82.触摸传感器180k,也可称为“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。在具体实现中,触摸传感器180k可用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。触摸传感器180k还可以通过显示屏194提供与触摸操作相关的视觉输出。
83.在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。比如,触摸传感器180k可以设置于开机键(或者称电源键)上,用户可通过按压开机键同时实现屏幕唤醒和指纹识别。
84.按键190包括开机键(或称开关键、电源键)、音量键等。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。例如在本技术实施例中,用户可通过对开机键190的按压或触摸,实现屏幕休眠和屏幕唤醒的功能。
85.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动
反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
86.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
87.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持一个或多个sim卡接口。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。
88.可以理解的是,本技术示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
89.电子设备100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。本技术以分层架构的android系统为例,示例性说明电子设备100的软件结构。其中,本技术对电子设备的操作系统的类型不做限定。例如,android系统、鸿蒙os等。
90.图2是适用于本技术实施例提供的方法的一种电子设备的软件与硬件的结构框图。
91.如图2所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(android runtime)和系统库,以及内核层。
92.应用程序层可以包括一系列应用程序包。如图2所示,应用程序层可以包括锁屏应用、桌面应用等。桌面应用例如可进一步包括相机、图库、日历、通话、地图、导航、wlan、蓝牙、音乐、视频、游戏、购物、出行、即时通信(如短信息、微信等)、智能家居、设备控制等应用程序。
93.其中,智能家居应用可用于对具有联网功能的家居设备进行控制或管理。例如,家居设备可以包括电灯、电视和空调。又如,家居设备还可以包括防盗门锁、音箱、扫地机器人、插座、体脂秤、台灯、空气净化器、电冰箱、洗衣机、热水器、微波炉、电饭锅、窗帘、风扇、电视、机顶盒、门窗等。
94.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括输入管理服务(input manager service,ims)、显示策略服务、电源管理服务(power manager service,pms)、显示管理服务(display manager service,dms)、活动管理服务、资源管理服务、内容提供服务、视图系统、电话管理服务、通知管理服务、窗口管理服务、进程管理服务、绘制服务等。本技术实施例对此不作任何限制。
95.窗口管理服务可用于管理窗口程序。窗口管理服务可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
96.内容提供服务可用于存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
97.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
98.电话管理服务用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
99.资源管理服务为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件、视频文件等等。
100.通知管理服务使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
101.绘制服务可用于绘制界面,示例性地,绘制服务可将应用布局和资源转换为内核层的显示服务能够识别的格式。绘制服务可将绘制的界面发送给内核层的显示服务,进而实现绘制的界面的显示。
102.安卓运行时可以包括核心库和虚拟机。安卓运行时负责android系统的调度和管理。
103.核心库可以包含两部分:一部分是java语言需要调用的功能函数,另一部分是android系统的核心库。
104.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理、堆栈管理、线程管理、安全和异常的管理,以及垃圾回收等功能。
105.系统库可以包括多个功能模块。例如:状态监测服务、表面管理器(surface manager)、媒体库(media libraries)、三维图形处理库(例如,opengles)、二维(2dimensions,2d)图形引擎(例如,sgl)等。
106.状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的物理状态等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和三维(3dimensions,3d)图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如,mpeg4、h.264、mp3、aac、amr、jpg、png等。三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。2d图形引擎是2d绘图的绘图引擎。
107.内核层是硬件和软件之间的层。内核层至少包含电源管理服务、传感器服务(也可以称,传感器驱动)、显示服务(也可以称,显示驱动)、摄像头驱动、音频驱动等。本技术实施例对此不做任何限制。
108.仍如图2所示,应用程序框架层以下的系统库和内核层等可称为底层系统。底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的表面管理器等。
109.底层系统之下为硬件,硬件可以为软件运行提供基础。如图2所示,该电子设备的硬件可以包括但不限于,开机键、传感器、显示屏、指纹、摄像头等。
110.下文实施例中为方便说明,可将应用程序框架层简称为框架层,将应用程序层简称为应用层。
111.由于目前的电子设备大多数支持横屏或竖屏观看,以适应用户不同的需求。大多数情况下,在电子设备在屏幕休眠时发生转屏,之后再唤醒屏幕,比如在竖屏时熄屏并在转为横屏后唤醒屏幕,用户可能需要等待较长一段时间后才可进行屏幕操作。
112.为方便理解,图3示出了电子设备在屏幕休眠时发生转屏再唤醒屏幕的过程中电子设备可能执行的流程。如图3所示,该电子设备可以分别经历了熄屏前的布局加载和绘制流程、屏幕方向计算流程、转屏后的布局加载和绘制流程、转屏动画的加载和播放流程。
113.图3从电子设备的软件的各层之间的交互以及与硬件之间的交互角度来描述上述流程。图3示出了步骤301至步骤308。其中,步骤303为电子设备熄屏前界面的布局加载和界面绘制流程,步骤304至步骤305为屏幕方向计算流程,步骤306为转屏后的布局加载和绘制流程,步骤307至步骤308为转屏动画的加载和播放流程。下面详细说明图3中的各步骤。
114.在步骤301中,电子设备响应于用户按压开机键的操作,向内核层上报按键事件。
115.应理解,用户按压开机键是用户唤醒屏幕操作的一种可能的实现方式,用户还可通过其他操作来唤醒屏幕。
116.这里,唤醒屏幕,也就是使得原先处于休眠状态的屏幕重新亮屏,用户进而可以基于唤醒后的屏幕执行屏幕操作。
117.在步骤302中,内核层向框架层上报该按键事件。
118.在步骤303中,框架层基于内核层上报的按键事件,进行熄屏前界面的布局加载和界面绘制。
119.这里,熄屏,也可以称为灭屏、屏幕休眠。
120.应理解,电子设备在熄屏前可能在前台运行着某个应用程序,比如使用设置功能、播放视频、使用微信等,界面显示的是某个应用程序打开的状态,如图4所示,界面显示为设置功能被打开的一例;电子设备在熄屏前也可能未打开应用程序,界面显示的是桌面图标,如图5所示,界面显示为竖屏显示时的桌面图标的一例。
121.框架层可以通过与应用层的交互,确定熄屏前的界面为某一应用程序的运行界面,还是桌面图标的界面,进而可进行布局加载,并根据布局加载完成后的界面进行界面绘制。此次界面绘制所得到的界面例如记为界面1。例如,图6中的a)示出的界面是竖屏正向显示的界面的一例。
122.在步骤304中,框架层从内核层获取传感器采集到的数据。
123.示例性地,框架层可以向内核层中的传感器服务发送指令,以指示传感器服务控制传感器采集数据。
124.如前所述,该电子设备可以包括加速度传感器。加速度传感器可用于识别电子设备的姿态。
125.在一种可能的实现方式中,重力传感器可实时地将检测到的数据上报至内核层中的传感器服务中。内核层中的传感器服务可以基于重力传感器上报的数据,确定电子设备的屏幕方向。
126.用于计算屏幕方向的数据例如可以是由重力传感器采集到的重力加速度,具体可包括重力加速度在电子设备的x轴、y轴和z轴的分量,重力加速度在电子设备的x轴、y轴和z轴的分量可以分别称为电子设备在x轴、y轴和z轴方向的加速度。
127.图7示出了电子设备的x轴、y轴和z轴方向。图7的a)、b)、c)、d)分别示出了电子设备的屏幕朝向用户时,以不同的方向显示时x轴、y轴和z轴的方向。以电子设备的中心为坐标中心,图7中的a)示出了竖屏正向,即,正常手握方向,x轴可以是该电子设备水平向左的方向,y轴方向可以是该电子设备竖直向上的方向,z轴方向可以是该电子设备的屏幕向上的方向。图7中的b)示出了向左横屏的方向,即,由正常手握方向逆时针旋转90
°
得到的方向;图7中的c)示出了竖屏反向,即,电子设备倒着拿的方向;图7中的d)示出了向右横屏的方向,即,由正常手握方向顺时针旋转90
°
的方向。可以理解,随着电子设备的翻转或旋转,x轴、y轴和z轴与电子设备的相对方向不变,但重力传感器所检测到的x轴数值、y轴数值和z轴数值可能发生变化。
128.在步骤305中,框架层根据内核层上报的数据计算电子设备的屏幕方向。
129.框架层具体可以根据内核层中的传感器服务上报的x轴方向的加速度、y轴方向的加速度和z轴方向的加速度,计算矢量此后,可以进一步计算x轴方向与矢量r之间的夹角α。例如,x轴方向与矢量r之间的夹角可以通过反正弦函数来计算,如下式所示:
[0130][0131]
基于计算所得的夹角α,可以确定该电子设备的屏幕方向。夹角α的范围与电子设备的屏幕方向的对应关系可参见表1所示。
[0132]
表1
[0133]
夹角α的范围(单位:度)方向0-45、315-360竖屏正向45-135左侧横屏135-225竖屏反向225-315右侧横屏
[0134]
由于普通用户正常转屏都会触发抖动,导致传感器数据上下波动,传感器可根据稳定在一定的角度范围内多次上报的数据来计算,进而确定屏幕方向。
[0135]
具体地,框架层可以根据传感器服务每一次上报的数据(具体可包括该电子设备在x轴、y轴和z轴方向的加速度)计算夹角α。若框架层基于传感器服务多次上报的数据,多次计算得到的夹角α都处于表1中的某一范围内,则可确定该范围对应的方向为该电子设备的屏幕方向。
[0136]
比如,框架层基于传感器服务多次上报的数据进行多次计算,得到的角度都在45-135度之间,进而可以确定该电子设备的屏幕方向为左侧横屏。
[0137]
应理解,上文仅为便于理解,以x轴方向与矢量r的夹角为例描述了内核层确定屏幕方向的具体实现方式,但这不应对本技术构成任何限定。基于相同的原理,内核层也可以以y轴方向与矢量r的夹角来确定屏幕方向,只是相应的角度可能会随之调整。
[0138]
在步骤306中,框架层在确定电子设备发生转屏的情况下,再次进行布局加载和界面绘制。
[0139]
框架层可以根据在步骤305中确定的电子设备的屏幕方向以及熄屏前的屏幕方向,确定该电子设备发生转屏。此后,框架层可以根据计算所得的屏幕方向,再次进行布局加载和界面绘制。
[0140]
框架层此次的布局加载可根据计算所得的屏幕方向来加载。例如,框架层可通过与锁屏应用的交互来完成布局加载,进而通过绘制服务来绘制布局加载完成后的界面绘制。此次界面绘制所得到的界面例如记为界面2。例如,图6中的b)示出的界面2为左侧横屏显示的界面的一例。
[0141]
在步骤307中,框架层加载动画。
[0142]
框架层可基于熄屏前的界面1和转屏后的界面2加载动画,该动画用于实现界面1跳转至界面2的过度。
[0143]
在步骤308中,框架层播放动画。
[0144]
框架层将加载完成的动画发送给内核层中的显示服务,进而由显示服务控制显示屏播放该动画。在一种可能的实现方式中,框架层可以将动画转换成一系列的指令集,按照时间顺序将指令发送给显示服务,显示服务根据指令来平移、旋转、缩放等操作显示界面。
[0145]
基于上述步骤,电子设备可以亮屏后由界面1至界面2的转屏,此后可以切换焦点至新的界面,即,界面2。
[0146]
然而,电子设备熄屏前界面的布局加载和界面绘制流程可能需要耗时约100毫秒(ms)。电子设备的传感器的采样耗时约66.7ms,计算屏幕方向约耗时130-200ms。在确定屏幕发生旋转后,电子设备对转屏后界面的布局加载和界面绘制流程又需要约100ms。电子设备对转屏动画进行加载和播放流程中,转屏动画加载约耗时40ms,动画播放约耗时300ms。
[0147]
可以看到,电子设备响应于用户唤醒屏幕的操作,需要经历两次布局加载和界面绘制流程、多次传感器采样和屏幕方向计算以及转屏动画加载和播放的流程,整个过程耗时约606.7-676.7ms。而这段时间内用户是无法进行屏幕操作的。换言之,用户需要等到很长一段时间才可进行屏幕操作,使用体验不佳。
[0148]
基于此,本技术提供一种界面显示的方法,在检测到用户的亮屏操作之后,不立刻进行熄屏前界面的布局加载和界面显示,而是根据传感器上报的数据直接绘制转屏后的布局加载和界面显示。因此可以省去熄屏前界面的布局加载和界面绘制流程,以及转屏动画加载和播放流程,大大减少了用户的等待时间。
[0149]
下面将结合附图对本技术实施例提供的界面显示的方法做详细说明。
[0150]
应理解,本技术实施例提供的界面显示的方法并不仅限于在电子设备的屏幕方向发生变化的情况下使用,在电子设备的屏幕方向未发生变化的情况下也同样适用。下文中为方便理解和说明,以电子设备的屏幕由熄屏前的第一方向转为唤醒时第二方向的场景为例来描述。但这不应对本技术构成任何限定。
[0151]
图8为本技术实施例提供的界面显示的方法800的流程示意图。图9进一步地从电子设备的各层的模块之间交互角度示出了本技术实施例提供的界面显示的方法。下面将参照图8和图9来详细说明方法800中的各个步骤。
[0152]
如图8所示,该方法800可以包括步骤801至步骤810。下面详细说明方法800中的各
个步骤。图9中的标记

至示出了各层的模块之间的交互信息。
[0153]
在步骤801中,电子设备的屏幕方向为第一方向时,进入屏幕休眠。
[0154]
电子设备可以基于不同的触发条件进入屏幕休眠。
[0155]
一种可能的情况是,用户执行了熄屏操作触发电子设备进入屏幕休眠。此情况下,步骤801具体可包括:电子设备在屏幕方向为第一方向时,检测到用户对电子设备的熄屏操作;并响应于该熄屏操作,进入屏幕休眠。
[0156]
用户可通过不同的操作来熄屏,使得屏幕进入休眠状态。例如,用户可通过按压开机键来熄屏;又例如,用户可通过点击桌面“锁屏”应用来熄屏,等等。当电子设备检测到用户对电子设备的熄屏操作时,响应于该熄屏操作,屏幕进入休眠状态。
[0157]
另一种可能的情况是,用户长时间未对电子设备执行操作,或者说,电子设备长时间未检测到用户的操作,电子设备处于待机状态。当电子设备的待机时间达到预设门限时,可自动进入屏幕休眠。其中,预设门限的值可以是用户自定义的,用户可通过设置功能完成该预设门限的设置。该预设门限的值例如可以是15秒、30秒、一分钟,等等。本技术实施例对此不作限定。
[0158]
可以理解,在电子设备进入屏幕休眠之前,屏幕显示的界面是与屏幕方向相适应的。比如,电子设备的屏幕在进入休眠之前为第一方向,该电子设备在进入休眠之前,屏幕显示的界面是与第一方向相适应的界面。该第一方向例如可以是上文图6中的a)所示的竖屏正向。
[0159]
在步骤802中,内核层基于传感器实时上报的数据,确定屏幕方向。
[0160]
在本实施例中,虽然屏幕进入休眠状态,但内核层中的传感器服务可以控制传感器(例如上述重力传感器)实时地采集和上报数据。如图9中的

所示,传感器向传感器服务上报采集到的数据。如前所述,该重力传感器上报的数据包括该电子设备分别在x轴、y轴和z轴方向的重力加速度。
[0161]
内核层中的传感器服务可以基于传感器上报的数据,实时地计算屏幕方向。
[0162]
传感器服务计算屏幕方向的具体方法例如可以查看上文在步骤304中的相关描述。所不同的是,在本实施例中,内核层可根据传感器上报的数据来计算屏幕方向。
[0163]
可选地,内核层可以将计算所得的屏幕方向保存在本地的内存中,而不主动地上报给框架层,以避免框架层被唤醒,造成不必要的功耗。内核层可以在接收到来自框架层的请求后将最近一次或多次计算所得的屏幕方向上报给框架层,从而使得框架层能够准确获取到正确的屏幕方向。
[0164]
这里,所述正确的屏幕方向具体可以是指当前真实的屏幕方向。比如在本实施例中,传感器服务实时地计算屏幕方向,每一次计算得到的屏幕方向是当下的屏幕方向,也就是正确的屏幕方向。
[0165]
应理解,屏幕方向的确定方法并不限于本技术中所提供的方法,内核层也可以基于其他已有的方式来确定屏幕方向。本技术对于确定屏幕方向的具体方式不作限定。
[0166]
还应理解,图中仅为示例,在步骤802中示出了传感器将采集到的数据上报给内核层以及内核层进行屏幕方向计算的过程。但事实上,步骤802可以持续性地进行,而并不是仅在步骤803之前执行。并且步骤802可反复执行多次,而并不仅执行一次。图中示例不应对本技术实施例构成任何限定。在步骤803中,电子设备的屏幕方向转为第二方向时,检测到
用户对电子设备的屏幕唤醒操作;并响应于用户的屏幕唤醒操作,内核层向框架层发送亮屏请求。
[0167]
前已述及,用户可以通过多种不同的操作来实现屏幕唤醒。基于用户对不同硬件的操作,电子设备中的各硬件可以响应于用户的唤醒屏幕操作,向内核层中的传感器服务上报用户的操作。当内核层确定该用户的操作用于唤醒屏幕,则可进一步向框架层中的窗口管理服务发送亮屏请求,以请求该窗口管理服务为亮屏做好准备。
[0168]
例如前文中所述,用户可以通过按压开机键唤醒屏幕。当用户按压图9中的开关键(或称开机键、电源键)时,响应于该用户的操作,该按键事件被上报到内核层的电源管理服务。如图9中的

所示,开机键将案件事件上报至电源管理服务。电源管理服务可基于该按键事件,确定用户希望唤醒屏幕,因此可进一步上报向框架层的窗口管理服务发送亮屏请求。如图9中的

所示,电源管理服务向窗口管理服务发送亮屏请求。
[0169]
又例如,用户可以通过指纹识别、开启保护套等方式来唤醒屏幕。基于用户不同的操作,相关的硬件在检测到用户的操作后便可向用户的操作上报至内核层,进而由内核层向框架层发送亮屏请求。
[0170]
在步骤804中,框架层进行亮屏拦截。
[0171]
通常情况下,框架层中的窗口管理服务在接收到亮屏请求后,可以执行如下操作:首先,窗口管理服务可以更新与屏幕显示相关的器件的电源状态,例如,将电源状态由“关”更新到“开”;此后,窗口服务管理可以为屏幕(如,lcd等)上电,屏幕上电具体可以是指对与屏幕显示相关的器件的上电;窗口服务可进一步根据电子设备熄屏前的界面显示,计算背光亮度;随后,窗口管理服务可以将背光亮度发送至内核层的显示服务,再通过显示服务向显示屏发送背光亮度,显示屏可根据来自显示服务的背光亮度,调节背光板亮度。应理解,该背光亮度可用于为显示面板提供光源,以实现亮屏显示。
[0172]
而在本实施例中,窗口管理服务在接收到亮屏请求后,可以暂时进行亮屏拦截。亮屏拦截具体可以是指,窗口管理服务在接收到亮屏请求后,暂不响应该亮屏请求,使得亮屏被延迟。由于在本实施例中,框架层并未基于用户唤醒屏幕的操作,进行熄屏前界面的布局加载和界面绘制。如果不进行亮屏拦截,可能会在亮屏后没有内容显示,出现闪屏。
[0173]
示例性地,该窗口管理服务可以暂不执行背光亮度的计算,或者,暂不将计算得到的实际所需背光亮度发送至显示服务。
[0174]
在一种实现方式中,窗口管理服务可以向显示服务通知背光亮度为第一亮度值,如图9中的

所示。该第一亮度值例如可以为0,或者为较小值。当背光板被设置为第一亮度值时,背光板基本不发光。这里所述的背光板基本不发光,具体可以是指,该背光板的亮度值为0,不提供光源,或,接近于0,光非常微弱,也无法为屏幕提供足够的光源,使得屏幕正常显示界面。换言之,当背光板被设置为第一亮度值时,背光板无法为屏幕提供用于正常显示的光源,屏幕不能正常地显示界面,用户看不到界面。对于用户来说,当背光板的背光亮度被设置为第一亮度值时,该屏幕是黑屏的。由此实现了亮屏拦截,使得屏幕不能基于用户的唤醒操作而立即亮屏。
[0175]
显示服务在背光亮度为第一亮度值的情况下,可以向显示屏发送背光亮度为第一亮度值的指令,以使得显示屏控制背光亮度为第一亮度值,也即,背光板不能对屏幕提供足够的光源,使屏幕正常显示界面。在另一种实现方式中,窗口管理服务也可以不向显示服务
通知背光亮度,使得背光亮度的调节被延迟。由于在熄屏状态下,背光板不对屏幕提供光源,屏幕不能显示画面,在未接收到背光亮度的指令的情况下,背光板可以继续保持屏幕休眠状态,从而可以实现亮屏拦截,使得屏幕不能基于用户的唤醒操作而立即亮屏。
[0176]
应理解,本技术实施例对第一亮度值的具体取值并不限定。只要通过对背光亮度的设置,使得背光板暂不发光,均应落入本技术的保护范围内。
[0177]
还应理解,将背光亮度设为第一亮度值以使得背光板不发光是亮屏拦截的一种可能的实现方式,但若存在其他可实现亮屏拦截的方式,也同样可应用于本技术实施例所提供的方法中,本技术实施例对此并不限定。
[0178]
在步骤805中,框架层从内核层获取屏幕方向。
[0179]
在步骤802中已经说明,传感器服务可以实时地计算电子设备的屏幕方向。示例性地,框架层中的窗口管理服务可以基于步骤803中的亮屏请求,向内核层中的传感器服务发送获取屏幕方向的请求,如图9中的

所示。
[0180]
传感器服务可以将实时计算得出的屏幕方向上报给框架层中的资源管理服务,如图9中的

所示。在一种可能的实现方式中,不同的屏幕方向可通过不同的标识来指示。比如,对应于表1中所列举的四种不同的屏幕方向,可通过表2所示的标识来与之与之一一对应。
[0181]
表2
[0182]
标识方向0竖屏正向1左侧横屏2竖屏反向3右侧横屏
[0183]
传感器服务和资源管理服务可以预先约定如表2中所示例的标识与方向的对应关系。当传感器服务根据计算结果确定屏幕方向后,便可根据该对应关系,将确定的屏幕方向所对应的标识上报给资源管理服务。资源管理服务便可根据该对应关系及接收到的标识来确定屏幕方向。
[0184]
应理解,表2所示的标识与方向的对应关系仅为示例,不应对本技术构成任何限定。本技术对于传感器服务上报屏幕方向的具体方式不作限定。
[0185]
可以理解,该资源管理服务获取到的屏幕方向是根据最近一次计算确定的屏幕方向,也可以是根据最近多次的计算确定的屏幕方向。根据最近多次的计算来确定屏幕方向的目的在于,避免因电子设备在转屏过程中可能发生抖动造成的错误计算,进而导致屏幕方向确定错误的可能。
[0186]
为方便说明,本文中将资源管理服务获取到的当前的屏幕方向记为正确的屏幕方向。电子设备可能在熄屏后发生了旋转,导致屏幕方向发生变化;也可能未发生旋转,屏幕方向不变。因此,正确的屏幕方向可能与熄屏前的屏幕方向相同或不同。本技术实施例对此不作限定。
[0187]
在步骤806中,框架层进行布局加载。
[0188]
框架层中的资源管理服务可以根据正确的屏幕方向,从应用层获取用于布局加载的资源。示例性地,框架层可以将在步骤806中获取到的屏幕方向发送至应用层,应用层可
根据该屏幕方向确定需要加载什么样的资源,进而将资源下发给资源管理服务。资源管理服务可以基于从应用层获取到的资源进行布局加载。
[0189]
在一种可能的设计中,应用层本地可以预存有不同的屏幕方向所对应的资源。比如将用于横屏显示的资源放在横屏目录下,将用于竖屏显示的资源放在竖屏目录下。应用层可以根据框架层所指示的屏幕方向,下发相应的资源至框架层。
[0190]
此外,由于不同型号的电子产品的屏幕尺寸大小不同,应用层还可进一步预存有适用于不同型号的电子设备的资源。适用于不同型号的电子设备的资源也可以分别保存在不同型号的目录下。应用层在确定了屏幕方向之后,还可以进一步根据电子设备的型号来加载资源。若用户当前使用的电子设备不在预存的电子设备型号范围内,还可以根据默认设置来加载资源。
[0191]
可以理解,有些电子设备设置有锁屏界面,还有些电子设备未设置锁屏界面。基于是否设置有锁屏界面,框架层所加载的资源以及后续绘制的界面有所不同。
[0192]
在电子设备设置有锁屏界面的情况下,电子设备在亮屏后显示的界面可以是锁屏界面。因此,资源管理服务需要加载用于布局锁屏界面的资源。框架层例如可以与锁屏应用交互,以获取用于布局锁屏界面的资源,以便基于获取到的资源进行布局加载,如图9中的

所示。所述用于布局加载的资源例如可以包括图片(比如锁屏壁纸)、文字等资源。
[0193]
在电子设备未设置有锁屏界面的情况下,电子设备在亮屏后显示的界面与熄屏前显示的界面的内容是一致的。但由于屏幕方向可能发生了变化,锁屏应用可将熄屏前显示的界面的内容,按照正确的屏幕方向进行布局加载。
[0194]
若电子设备在熄屏前在前台运行着某一应用程序,则该电子设备可以从该应用程序获取用于布局加载的资源。所述用于布局加载的资源例如可以包括该应用程序中的图标、文本、背景等资源。
[0195]
若电子设备在熄屏前未在前台运行应用程序,则熄屏前显示的界面为桌面图标。该电子设备可以从各桌面应用获取用于布局加载的资源。所述用于布局加载的资源例如可以包括各桌面应用的图标、桌面背景等资源。
[0196]
在步骤807中,框架层进行界面绘制,得到待显示的界面。
[0197]
框架层的绘制服务可以基于布局加载所得到的布局,进行界面绘制,得到待显示的界面。
[0198]
可以理解,该待显示的界面是适合正确的屏幕方向的界面,或者说,是能够和屏幕方向相适应的界面。比如在本实施例中,该界面是与第二方向相适应的界面。换言之,当用户以第二方向放置电子设备的屏幕时,或者以适应于第二方向的视角来观看屏幕时,该待显示的界面能够满足正常的观看需求。比如,若第二方向为竖屏正向,该界面也按照竖屏正向的方向显示,如图6中的a)所示;又比如,若第二方向为左侧横屏,该界面也按照左侧横屏的方向显示,如图6中的b)所示。
[0199]
在步骤808中,框架层将待显示的界面发送至内核层。
[0200]
框架层中的绘制服务在绘制完待显示的界面后,可以将该待显示的界面发送至内核层中的显示服务,如图9中的

所示,以便于显示服务通过屏幕显示该待显示的界面。
[0201]
在步骤809中,框架层解除亮屏拦截。
[0202]
另一方面,框架层的绘制服务在完成界面绘制后,可以向窗口管理服务发送界面
绘制完成的通知,如图9中的

所示。窗口管理服务可以基于界面绘制的完成,将计算得到的背光亮度(例如记为第二亮度值)发送给内核层的显示服务,如图9中的所示。窗口管理服务可以根据熄屏前的界面所开启的应用程序来计算该背光亮度,以使得该背光亮度适用于待显示的界面。例如,该窗口管理服务可以根据熄屏前的背光亮度来设置该背光亮度。
[0203]
这里,第二亮度值可以大于第一亮度值。第二亮度值可以使得背光板发光,从而为屏幕提供充足的光源,使得屏幕能够正常地显示界面,用户可以看到屏幕界面。对于用户来说,当背光板的背光亮度被设置为第二亮度值时,该屏幕被点亮,用户可以正常观看屏幕界面。
[0204]
一种可能的设计是,第二亮度值大于0。
[0205]
窗口管理服务将背光亮度发送给显示服务后,显示服务可进一步向屏幕发送背光亮度的指令,以控制屏幕调节背光板的亮度,如图9中的所示。背光板基于该新的背光亮度值发光,从而可以为显示面板提供光源,由此可以解除亮屏拦截。
[0206]
应理解,窗口管理服务计算背光亮度的操作可以在步骤809之前执行,比如可以在步骤803之后执行,也可以在步骤808之后执行,甚至可以在熄屏后执行,本技术实施例对此不作限定。
[0207]
还应理解,步骤809可以在步骤808之后执行,如此一来,显示服务便可以在调节背光亮度之前,先获取到待显示的界面,进而在亮屏后能够直接呈现该待显示的界面。
[0208]
当然步骤809也可以在步骤808之前或与步骤808同步执行。在这种情况下,显示服务可以在获取到待显示的界面之后,再调节背光亮度,从而避免亮屏后没有内容显示,导致闪屏。
[0209]
在步骤810中,屏幕点亮,并显示该待显示的界面。
[0210]
屏幕可以根据背光亮度调节背光板的亮度,背光板发光,为显示面板提供光源。屏幕由此而被点亮,呈亮屏状态,并在亮屏状态下显示待显示的界面。由此,用户可以正常地观看屏幕。
[0211]
基于上述方案,电子设备在熄屏后,可以基于用户的屏幕唤醒操作,暂不亮屏显示,而是先获取到屏幕方向,基于屏幕方向进行布局加载和界面绘制,以得到适合当前屏幕方向的界面。电子设备可以在完成了界面绘制后,亮屏显示该界面。因此,电子设备也可在亮屏后直接显示能够与屏幕方向相适应的界面,用户在亮屏后便可直接执行操作。
[0212]
尤其是在电子设备熄屏后发生屏幕旋转的情况下,检测到用户的屏幕唤醒操作,可不执行熄屏前界面的布局加载和界面绘制流程,以及转屏动画的加载和播放流程,相应的耗时也得以省去。
[0213]
此外,由于传感器实时地上报数据,传感器服务可以实时地计算屏幕方向。电子设备在检测到用户的唤醒屏幕操作时,可直接从获取到屏幕方向,而不需要再额外地耗费时间去计算屏幕方向,因此屏幕方向的计算耗时也得以省去。由此,等待时长大大减少,用户体验大大提升。
[0214]
即便电子设备在熄屏后屏幕未发生旋转,得益于传感器的实时采集与上报,传感器服务的实时计算屏幕方向,电子设备可以快速地获取到屏幕方向,进而根据正确的屏幕方向加载布局和绘制界面。因此电子设备仍然可以在很短的时间内亮屏显示,而不会造成
较大的延迟。
[0215]
在另一种实现方式中,电子设备也可以不实时地采集数据和计算屏幕方向。例如,随着传感器技术的发展,在传感器具有较快速度的响应于数据采集和上报的指令时,电子设备也可以采用具有较快响应速度的传感器,来采集和上报数据。具体流程可参看下文结合图10的描述。
[0216]
图10是本技术实施例提供的界面显示的方法1000的另一示意性流程图。如图10所示,该方法1000可以包括步骤1001至步骤1009。下面详细说明方法1000的各步骤。
[0217]
在步骤1001中,电子设备的屏幕方向为第一方向时,进入屏幕休眠。
[0218]
在步骤1002中,电子设备的屏幕方向为第二方向时,检测到用户对电子设备的屏幕唤醒操作;响应于用户的屏幕唤醒操作,内核层向框架层发送亮屏请求。
[0219]
在步骤1003中,框架层进行亮屏拦截。
[0220]
应理解,步骤1001至步骤1003的具体过程可参看上文方法800中步骤801、步骤803和步骤804相关描述,为了简洁,这里不再重复。
[0221]
在步骤1004中,框架层根据传感器上报的数据,屏幕方向。
[0222]
在一种实现方式中,框架层中的窗口管理服务可以向内核层中的传感器服务发送获取数据的请求,以通过传感器服务从传感器获取数据。传感器服务基于窗口管理服务的请求,从传感器获取数据,并上报给窗口管理服务。窗口管理服务可以根据传感器上报的数据自行计算屏幕方向。
[0223]
窗口管理服务计算屏幕方向的具体方法与上文所述传感器服务计算屏幕方向的具体方法可以是相同的,本技术实施例对此不作限定。
[0224]
另外,上文示例的窗口服务管理从传感器获取采集到的数据的具体流程仅为示例,本技术实施例对此不作限定。
[0225]
在本实施例中,由于采用了响应速度较快的传感器,预计可在10ms内完成数据采集、上报以及屏幕方向的计算,因此,可以不一直执行方法800中的步骤802,传感器实时的采集和上报数据,传感器服务在后台一直计算屏幕方向,从而可以减少功耗。
[0226]
在步骤1005中,框架层进行布局加载。
[0227]
在步骤1006中,框架层进行界面绘制,得到待显示的界面。
[0228]
在步骤1007中,框架层将待显示的界面发送至内核层。
[0229]
在步骤1008中,框架层解除亮屏拦截。
[0230]
在步骤1009中,屏幕点亮,并显示该待显示的界面。
[0231]
应理解,上述步骤1005至步骤1009的具体过程可参看上文方法800中步骤806至步骤810的相关描述,为了简洁,这里不再重复。
[0232]
基于上述方案,电子设备在熄屏后,可以基于用户的屏幕唤醒操作,暂不亮屏显示,而是先获取到屏幕方向,基于屏幕方向进行布局加载和界面绘制,以得到适合当前屏幕方向的界面。电子设备可以在完成了界面绘制后,亮屏显示该界面。因此,电子设备也可在亮屏后直接显示能够与屏幕方向相适应的界面,用户在亮屏后便可直接执行操作。
[0233]
尤其是在电子设备熄屏后发生屏幕旋转的情况下,检测到用户的屏幕唤醒操作,电子设备可不执行熄屏前界面的布局加载和界面绘制流程,以及转屏动画的加载和播放流程,相应的耗时也得以省去。
[0234]
此外,由于传感器能够在较短时间内采集和上报数据,传感器不需要在后台实时地采集数据,传感器服务也不需要在后台实时地计算屏幕方向,从而可以大大节省功耗。并且由于传感器的较快响应,框架层能够在很短的时间内获取到屏幕方向,并不会对亮屏造成很大的延迟。由此,用户在亮屏后即可执行操作,等待时间大大减少,用户体验大大提升。
[0235]
即便电子设备在熄屏后屏幕未发生旋转,得益于传感器的快速响应,电子设备可以快速地获取到屏幕方向,进而根据正确的屏幕方向加载布局和绘制界面。因此电子设备仍然可以在很短的时间内亮屏显示,而不会造成较大的延迟。
[0236]
应理解,上述实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。比如,方法800中的步骤805和步骤804可以同时执行,方法1000中的步骤1003和步骤1004也可以同时执行。
[0237]
应理解,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0238]
本技术还提供一种电子设备,该电子设备可以包括:存储器和处理器。其中,存储器可用于存储计算机程序;处理器可用于调用所述存储器中的计算机程序,以使得所述电子设备执行图8或图10所示实施例中任意一个实施例的方法。
[0239]
本技术还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得电子设备执行图8或图10所示实施例中任意一个实施例的方法。
[0240]
本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得电子设备执行图8或图10所示实施例中任意一个实施例的方法。
[0241]
应理解,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0242]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或
可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0243]
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
[0244]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。在本技术所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0245]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0246]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0247]
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机
能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0248]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0249]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1