CN116107412B - 功耗优化方法和设备 - Google Patents

功耗优化方法和设备 Download PDF

Info

Publication number
CN116107412B
CN116107412B CN202210745545.XA CN202210745545A CN116107412B CN 116107412 B CN116107412 B CN 116107412B CN 202210745545 A CN202210745545 A CN 202210745545A CN 116107412 B CN116107412 B CN 116107412B
Authority
CN
China
Prior art keywords
electric quantity
application
range
battery health
power consumption
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
Application number
CN202210745545.XA
Other languages
English (en)
Other versions
CN116107412A (zh
Inventor
张培坤
周子焱
顾启蒙
仇建斌
赵朋超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311362232.7A priority Critical patent/CN117590924A/zh
Priority to CN202210745545.XA priority patent/CN116107412B/zh
Publication of CN116107412A publication Critical patent/CN116107412A/zh
Application granted granted Critical
Publication of CN116107412B publication Critical patent/CN116107412B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例提供功耗优化方法和设备,涉及终端技术领域,能够有效的降低电子设备的功耗。其方法应用于终端设备,终端设备包括第一应用,方法包括:响应于满足第一条件,获取第一电量,第一条件包括第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用或终端设备的系统电量发生变化中的任一种;确定第一电量是否处于第一电量范围,第一电量范围是基于终端设备的电量状态和续航能力设置的;在第一电量处于第一电量范围内时,确定第二电量,第二电量属于第二电量范围;发布第一广播消息,第一广播消息用于指示终端设备的电量为第二电量;响应于接收到第一广播消息,第一应用进入低功耗模式。

Description

功耗优化方法和设备
技术领域
本申请涉及终端技术领域,尤其涉及一种功耗优化方法和设备。
背景技术
目前,在应用开发过程中,大部分应用程序会设置相应的功耗优化策略。通过设置功耗优化策略,使应用程序在一定的条件下,进入低功耗模式,从而降低终端设备的功耗。
例如,终端设备A上安装了应用程序B,应用程序B在开发时,设置了功耗优化策略b。利用功耗优化策略b,对终端设备A进行功耗优化。其中,终端设备A的电池容量是5000mAh。功耗优化策略b规定当终端设备的系统电量在20%及20%以下时,应用程序B进入低功耗模式。
当终端设备A的系统电量为20%时,终端设备A的电池容量为1000mAh。此时,终端设备A的完全可以支持应用程序B正常运行,而不需要提前进入低功耗模式。
由于终端设备的种类繁多,不同的终端设备的硬件也有所不同。若对不同型号的终端设备采用同样的功耗优化策略,有可能出现应用程序提前进入低功耗模式,影响用户的使用体验,或者应用程序没有及时进入低功耗模式,影响用户的续航体验。
发明内容
本申请实施例提供一种功耗优化方法和设备,能够合理安排应用进入低功耗模式的时机,提升用户的使用体验和续航体验。
第一方面,提供了一种功耗优化方法,该方法应用于终端设备,终端设备包括第一应用,包括:响应于满足第一条件,获取第一电量,第一条件包括第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用或终端设备的系统电量发生变化中的任一种;确定第一电量是否处于第一电量范围,第一电量范围是基于终端设备的电量状态和续航能力设置的;在第一电量处于第一电量范围内时,确定第二电量,第二电量属于第二电量范围,第一应用中设置了功耗优化策略,功耗优化策略用于指示第一应用在终端设备的系统电量处于第二电量范围内时进入低功耗模式;发布第一广播消息,第一广播消息用于指示终端设备的电量为第二电量;响应于接收到第一广播消息,第一应用进入低功耗模式。
本申请方案中,第一应用设置了功耗优化策略,功耗优化策略中包括在终端设备的系统电量处于第二电量范围时,第一应用进入低功耗模式。由于不同的终端设备的系统属性千差万别,不同的终端设备对功耗的需求也有所不同。因此,本申请基于终端设备的电量状态和续航能力设置了第一电量范围,第一电量范围为第一应用进入低功耗模式对应的电量范围。由于设置的第一电量范围更贴合终端设备的真实性能,所以根据第一电量是否落在第一电量范围内,来合理安排第一应用进入低功耗模式的时机,不仅顺应了第一应用本身的功耗优化策略,还能提升了用户的续航体验。
在一种可能的实现方式中,在确定第一电量是否处于第一电量范围之后,方法还包括:在第一电量处于第一电量范围外时,确定第三电量,第三电量不属于第二电量范围;发布第二广播消息,第二广播消息用于指示终端设备的电量为第三电量;响应于接收到第二广播消息,第一应用不进入低功耗模式。本申请方案中,当第一电量处于第一电量范围外时,使第一应用不进入低功耗模式,从而避免终端设备提前进入低功耗模式,为用户提供更好的使用体验。
在一种可能的实现方式中,在第一电量处于第一电量范围内时,确定第二电量,包括:在第一电量处于第一电量范围内时,若第一电量处在第二电量范围外,确定第二电量。由于第一电量范围和第二电量范围可能相同也可能不相同,第二电量是在第一电量处于第一电量范围内,且第一电量处在第二电量范围外时确定的。
在一种可能的实现方式中,发布第一广播消息包括:在预设时长后,发布第一广播消息。本申请设置预设时长,能够保证第一应用可以接收到第一广播消息。
在一种可能的实现方式中,预设时长包括第一时长、第二时长或第三时长,第一时长为第一应用重启所需的时长,第二时长为第一应用从后台切换到前台所需的时长,第三时长为解锁终端设备后进入第一应用所需的时长。
在一种可能的实现方式中,终端设备的电量状态和续航能力是从功耗优化配置文件中获取的,功耗优化配置文件包括多种终端设备以及多种终端设备中每种终端设备的电量状态和续航能力。
在一种可能的实现方式中,电量状态包括第二电量范围和第三电量范围,第一电量范围是基于第二电量范围和终端设备的续航能力设置的,或者第一电量范围是基于第三电量范围和终端设备的续航能力设置的,第三电量范围是根据终端设备的电池容量和用户需求设置的。电量状态中的电量范围可以是根据功耗优化策略确定的,还可以是根据电池容量和用户需求确定的。这样能够得到更符合用户使用需求的第一电量范围。
在一种可能的实现方式中,确定第一电量是否处于第一电量范围,包括:确定访问第一应用所使用的终端设备为第一设备;在功耗优化配置文件中查找第一设备的电量状态和续航能力,并根据第一设备的电量状态和续航能力,确定第一电量范围;确定第一电量是否处于第一电量范围中。提供一种确定第一电量范围的方法。
在一种可能的实现方式中,低功耗模式包括降低第一应用的图层绘制和图层合成。
第二方面,提供了另一种功耗优化方法,该方法应用于终端设备包括第一应用,方法包括:响应于满足第一条件,获取第一电池健康值,第一条件包括第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用或终端设备的系统电量发生变化中的任一种;确定第一电池健康值是否处于第一电池健康范围,第一电池健康范围是基于终端设备的电池健康状态和续航能力设置的;在第一电池健康值处于第一电池健康范围内时,确定第二电池健康值,第二电池健康值属于第二电池健康范围,第一应用中设置了功耗优化策略,功耗优化策略用于指示第一应用在终端设备的电池健康值处于第二电池健康范围内时进入低功耗模式;发布第三广播消息,第三广播消息用于指示终端设备的电池健康值为第二电池健康值;响应于接收到第三广播消息,第一应用进入低功耗模式。
本申请方案中,第一应用设置了功耗优化策略,功耗优化策略中包括在终端设备的电池健康状态处于第二电池健康范围时,第一应用进入低功耗模式。由于不同的终端设备的系统属性千差万别,不同的终端设备对功耗的需求也有所不同。因此,本申请基于终端设备的电池健康状态和续航能力设置了第一电池健康范围,第一电池健康范围为第一应用进入低功耗模式对应的电池健康范围。由于设置的第一电池健康范围更贴合终端设备的真实性能,所以根据第一电池健康值是否落在第一电池健康范围内,来合理安排第一应用进入低功耗模式的时机,不仅顺应了第一应用本身的功耗优化策略,还能提升了用户的续航体验。
在一种可能的实现方式中,在确定第一电池健康值是否处于第一电池健康范围之后,方法还包括:在第一电池健康值处于第一电池健康范围外时,确定第三电池健康值,第三电池健康值不属于第二电池健康范围;发布第四广播消息,第四广播消息用于指示终端设备的电池健康值为第三电池健康值;响应于接收到第四广播消息,第一应用不进入低功耗模式。
本申请方案中,还可以根据第一电池健康值处于第一电池健康范围外,使第一应用不进入低功耗模式,从而避免终端设备提前进入低功耗模式,为用户提供更好的使用体验。
第三方面,提供了一种电子设备,该电子设备具有实现上述第一方面的方法或第二方面的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项的功耗优化方法,以及执行如上述第二方面中任一项的功耗优化方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的功耗优化方法,以及执行如上述第二方面中任一项的功耗优化方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的功耗优化方法,以及执行如上述第二方面中任一项的功耗优化方法。
第七方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持第一设备实现上述第一方面或第二方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存第一设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第三方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,或者参见第二方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种智能移动终端的硬件显示系统;
图2为本申请实施例提供的一种生成显示图像的场景示意图;
图3为本申请实施例提供的一种电子设备的硬件结构示意图;
图4为本申请实施例提供的一种电子设备的软件结构示意图;
图5为本申请实施例提供的一种功耗优化方法的流程示意图一;
图6为本申请实施例提供的一种显示示意图;
图7为本申请实施例提供的一种功耗优化方法的流程示意图二;
图8为本申请实施例提供的一种功耗优化方法的流程示意图三;
图9为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
(1)每秒传输帧数(Frames Per Second,FPS):是指画面每秒传输帧数,每秒钟传输帧数越多,显示屏幕所显示的动作就会越流畅。
(2)液晶显示器(Liquid Crystal Display,LCD):按照背光源的不同,LCD可以分为CCFL显示器和LED显示器。CCFL显示器是指利用CCFL(冷阴极荧光灯管)作为背光光源的液晶显示器,LED显示器是指利用LED(发光二极管)作为背光光源的液晶显示器。
随着电子技术的发展,为了保证智能移动终端用户的视觉体验效果,智能移动终端的显示屏被设计的越来越大。相应的,智能移动终端中的显示系统在整机功耗中所占的比例也越来越高,所以显示系统的功耗优化成了当前智能移动终端急需解决的问题。显示系统的功耗变大,除了会让智能移动终端的使用时间和待机时间变短,还会产生更高的热量,而高热量在一定程度会直接影响到智能移动终端设备中其他硬件的使用性能。
智能移动终端的显示系统主要通过硬件显示系统和软件显示系统来实现其功能。如图1所示,硬件显示系统主要包括屏幕模组和SOC 11。屏幕模组包括触碰面板12和LCD13。LCD 13包括LCD IC和背光光源LED。在智能移动终端开机时,LCD IC会上电启动,使LCD正常显示。当用户在智能移动终端的触碰面板12上操作时,SOC 11会响应于用户的操作时,通过移动产业处理器接口(Mobile Industry Processor Interface,MIPI)来传输屏幕数据,从而使LCD 13显示用户所需的显示界面。
其中,LCD IC包括多个引脚,例如LCD IOVCC、LCD VSN/VSP和LCD背光驱动。LCDIOVCC是LCD IC上I/O口的供电电压。LCD VSN/VSP是液晶驱动电源,用于给控制像素点透光的电容充电,VSN是正电压,VSP负电压。SOC 11通过LCD背光驱动驱动LCD的背光光源。
由于硬件显示系统的功耗与各个硬件的成本相关,若要进行优化,局限性比较高。
智能移动终端的显示界面通常是由多个图层(surface)合成的,显示系统中的软件显示系统主要用于生成显示界面中的显示图像。生成显示图像需要包括图层绘制、图层合成和图层送显这几个步骤。并且这几个步骤是相互影响的,只要有新的图层绘制出来,就需要将新的图层与其他图层合成,最后将合成后的图层送到LCD 13显示。其中,图层绘制与FPS有关,FPS越高,需要绘制的图层也就越多。
示例性的,如图2所示,智能移动终端根据显示需求进行图层绘制,绘制出的用于表示顶部状态栏的图层21、用于表示中间应用界面的图层22、用于表示辅助控制图标界面的图层23和用于表示底部导航栏的图层24。绘制出这4个图层后,通过图层合成将图层21、图层22、图层23和图层24进行合成,得到图像2。最后通过图层送显,将图像2送到显示通道中进行排队,显示通道中包括多张图像,例如图像1和图像2。图像1可以是智能移动终端的显示界面当前显示的图像,图像2可以是智能移动终端的显示界面下一个显示的图像。
结合上述显示图像的生成过程可知,在软件显示系统上,若要进行功耗优化,可以通过减少图层或减少图层更新来实现。
对于智能移动终端上的自有应用(例如,设置TM应用、应用商店TM应用和应用商城TM应用等)而言,若要减少图层或减少图层更新,可以在自有应用的开发过程中,直接减少图层或减少图层的动态效果,减少图层的动态效果相当于减少图层绘制和图层合成。但是智能移动终端上除了自有应用还有第三方应用,例如,支付宝TM应用、微信TM应用、QQTM应用等。而第三方应用是第三方平台开发的,所以不能通过减少图层或减少图层的更新等方式来进行优化,只能后续在智能终端上运行时,通过引导的方式进行优化。
通常,第三方应用在开发时,会设置相应的功耗优化策略。该功耗优化策略中包括在一定条件下,通过改变第三方应用的运行模式,来实现功耗优化。以抖音TM应用为例,抖音TM应用的功耗优化策略中设置了,在安装抖音TM应用的智能移动终端的系统电量小于20%时,抖音TM应用进入低功耗模式。
虽然第三方应用设置的功耗优化策略,但是不同型号的智能移动终端对功耗的需求不同。有的型号的智能移动终端注重使用体验,有的型号的智能移动终端注重续航体验。所以第三方应用设置的功耗优化策略不能满足不同型号的智能移动终端对功耗的需求。
为此,本申请实施例提供一种功耗优化方法和设备,该方法通过监测终端设备是否满足第一条件,在终端设备满足第一条件时,获取终端设备的第一电量。接着第一电量是否在第一电量范围内,第一电量范围是根据终端设备的电量状态和续航能力设置的。若第一电量在第一电量范围内,确定第二电量。根据第二电量修改广播消息,得到第一广播消息,并将第一广播消息发送给终端设备中的第一应用。第一应用根据第一广播消息,使第一应用进入低功耗状态。这样,本方案可以合理安排第一应用进入低功耗模式的时机,不仅顺应了第一应用本身的功耗优化策略,还能提升了用户的续航体验和使用体验。
下面本申请实施例以图3所示的电子设备是电子设备300为例,对本申请实施例提供的电子设备的结构进行举例说明。如图3所示,电子设备300可以包括处理器310,外部存储器接口320,内部存储器321,通用串行总线(universal serial bus,USB)接口330,充电管理模块340,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,传感器模块380,显示器390等。
其中,上述传感器模块380可以包括加速度传感器,压力传感器,陀螺仪传感器,气压传感器,磁传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对电子设备300的具体限定。在另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块340用于从充电器接收充电输入。
电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。
移动通信模块350可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块360可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。
电子设备300通过GPU,显示器390,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示器390和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示器390用于显示图像,视频等。该显示器390包括显示面板。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器321可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器310通过运行存储在内部存储器321的指令,从而执行电子设备300的各种功能应用以及数据处理。例如,在本申请实施例中,处理器310可以通过执行存储在内部存储器321中的指令,内部存储器321可以包括存储程序区和存储数据区。
电子设备300可以通过音频模块370实现音频功能。例如音乐播放,录音等。
音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。
上述电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的AndroidTM系统为例,示例性说明电子设备的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施例中,将AndroidTM系统分为四层,从上至下分别为应用程序层,应用程序框架层,Android runtime和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括邮件,相机,日历,通话,音乐,导航,WLAN,地图,蓝牙、天气和第一应用等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括活动管理器、窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等,本申请实施例对此不做任何限制。
本申请实施例中,应用程序框架层还可以包括监管模块、处理模块、电池管理模块和数据存储模块等。其中,监管模块用于响应于处理模块发送的监管消息,确定终端设备满足第一条件和在终端设备满足第一条件的情况下,向处理模块发送监管回复消息。处理模块用于向监管模块发送监管消息以及向电池管理模块发送电量获取消息。电池管理模块用于响应于电量获取消息,从数据存储模块获取终端设备的电量状态、确定电量状态中的第一电量是否处于第一电量范围内、在第一电量处于第一电量范围内时,确定第二电量,并向处理模块发送第二电量等等。数据存储模块可以用于存储终端设备的电量状态和功耗优化配置文件。
活动管理器(Activity Manager):用于管理每个应用的生命周期。应用通常以Activity的形式运行在操作系统中。对于每一个Activity,在活动管理器中都会有一个与之对应的应用记录(Activity Record),这个Activity Record记录了该应用的Activity的状态。活动管理器可以利用这个Activity Record作为标识,调度应用的Activity进程。
窗口管理器(Window Manager Service):用于管理在屏幕上使用的图形用户界面(graphical user interface,GUI)资源,具体可用于:获取屏幕大小、窗口的创建和销毁、窗口的显示与隐藏、窗口的布局、焦点的管理以及输入法和壁纸管理等。
应用程序框架层以下的系统库和内核层等可称为底层系统,底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的surface manager等。
安卓运行时(Android Runtime)包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),OpenGL ES,SGL等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。
SGL是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,蓝牙驱动,音频驱动,传感器驱动。硬件至少包含扬声器、显示器和蓝牙。
如图5所示,本申请实施例提供一种功耗优化方法,以电子设备是终端设备为例,该方法包括:
501、响应于来自处理模块的监控消息,监管模块确定终端设备满足第一条件。
其中,监控消息用于指示监控模块监控终端设备是否满足第一条件。
第一条件包括第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用和终端设备的系统电量发生变化。
终端设备安装有第一应用。第一应用为在开发过程中,设置功耗优化策略的应用。功耗优化策略中包括根据终端设备的系统电量,调整第一应用的运行模式。第一应用的运行模式包括正常模式和低功耗模式。具体的,功耗优化策略中包括当终端设备的系统电量处于第二电量范围内时,第一应用进入低功耗模式,处于第二电量范围外时,第一应用正常运行。在第一应用进入低功耗模式时,第一应用上的某些功能会停止运行,这样,可以降低终端设备的功耗,从而延长终端设备的使用时间,提升用户的续航体验。
示例性的,低功耗模式可以包括降低第一应用的图层绘制和减少第一应用上动态控件的动态效果展示。
降低第一应用的图层绘制具体是:在预设条件下,降低第一应用中某些图层的绘制频率。降低图层绘制频率后,图层合成也会减少。相当于同时降低图层绘制和图层合成,从而降低终端设备的功耗。
减少第一应用上动态控件的动态效果展示具体是:在预设条件下,停止第一应用上动态控件的动态效果显示,从而降低显示功耗。预设条件可以是终端设备的系统电量低于阈值,阈值可以是用结合多方面考虑设定的。例如,根据用户的使用体验、显示效果、续航效果等。
例如,终端设备中的第一应用为抖音TM应用,抖音TM应用的视频播放界面显示动态控件和用户上传的视频。其中,用户上传的视频是以30fps的帧率绘制的,动态控件是以60fps的帧率绘制的。由于动态控件的绘制帧率高于视频的绘制帧率,所以在视频还未更新的时候,就需要重新绘制动态控件对应的图层。在重新绘制好动态控件对应的图层后,将动态控件对应的图层与视频的图层合成,在视频播放界面展示。
另外,抖音TM应用的功耗优化策略中设置了在终端设备电量小于30%时,抖音TM应用进入低功耗模式。所以在终端设备的系统电量变化到29%时,抖音TM应用会进入低功耗模式。在低功耗模式下,视频播放界面的动态控件停止绘制。所以,抖音TM应用通过降低动态控件的绘制,以及降低动态控件对应的图层和视频的图层合成次数,来降低终端设备中SOC和CPU等硬件的功耗。
由于第一应用设置了功耗优化策略,功耗优化策略与终端设备的系统电量有关,所以,终端设备需要监控第一应用的状态和终端设备的系统电量,以根据第一应用的状态和系统电量,确定是否调整第一应用的运行模式。
502、在终端设备满足第一条件的情况下,监管模块向处理模块发送监管回复消息。
其中,监管回复消息用于告知处理模块,终端设备满足第一条件。
503、响应于监管回复消息,处理模块向电池管理模块发送获取电量状态的消息。
其中,获取电量状态的消息用于指示电池管理模块获取终端设备的电量状态。
504、响应于获取电量状态的消息,电池管理模块从数据存储模块获取终端设备的电量状态。
其中,电量状态包括第一电量。第一电量为终端设备当前的电量值。
具体的,当第一条件是第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用时,电池管理模块可以从数据存储模块中获取终端设备的电量状态,从而得到第一电量。
由于终端设备的系统电量发生变化时,终端设备会向所有的应用发送广播消息。所以当第一条件是终端设备的系统电量发生变化时,电池管理模块可以根据接收到的广播消息,得到电量状态中的第一电量。示例性的,广播消息中的BatteryManager.EXTRA_LEVEL消息和BatteryManager.EXTRA_BATTERY_LOW消息用于指示终端设备的第一电量。
505、电池管理模块确定第一电量是否处于第一电量范围内。
其中,第一电量范围为基于终端设备的系统属性设置的,终端设备进入低功耗模式对应的电量范围。
第一电量范围可以通过功耗优化配置文件确定。功耗优化配置文件中包括多种终端设备和多种终端设备中每种终端设备的电量状态以及续航能力。根据每种终端设备的电量状态以及续航能力,可以确定出每种终端设备进入低功耗模式对应的电量范围。
即,在功耗优化配置文件中,确定出终端设备的电量状态以及续航能力,然后根据终端设备的电量状态以及续航能力,可以确定出第一电量范围。也就是说,第一电量范围是基于终端设备的系统属性(即电量状态和续航能力)设置的。
其中,终端设备的电量状态包括第二电量范围和第三电量范围,第二电量范围是第一应用对应的功耗优化策略中的电量范围。第三电量范围是根据终端设备的电池容量和用户使用终端设备的需求(如,用户更关注使用应用体验感,不注重续航)等特征设置的。
随着终端设备的使用,电池必然会产生折损。终端设备的续航能力包括终端设备的电池容量的折损值。电池容量的折损值可以通过多种方式确定。例如,根据电池容量的损耗因子确定。电池容量的损耗因子可以是通过电池容量对应的商业大数据确定的。电池容量对应的商业大数据包括各种终端设备的电池数据。
或者,对于每个用户而言,还可以先确定出每个用户所使用的终端设备的设备型号,然后根据该终端设备的发行时间、终端设备的激活时间以及该终端设备对应的电池损耗因子,确定出每个用户所使用的终端设备对应的折损值。之后可以根据每个用户所使用的终端设备的折损值和电量状态,确定出每个用户所使用的终端设备对应的第一电量范围。最后根据第一电量范围,确定第一应用进入低功耗模式的时机,从而为每个用户提供定制化的功耗优化。
其中,每个用户所使用的终端设备对应的折损值还可以通过查询用户所使用的终端设备中的电池数据得出。例如,参照图6中(a)所示,手机的设置菜单601中显示“电池与性能”选项602,手机响应于用户对“电池与性能”选项602的点击操作,可以显示如图6中(b)所示的电池与性能设置界面603。参照图6中(b)所示,电池与性能设置界面603中显示剩余电量和耗电统计。剩余电量中显示“剩余电量为25%,可继续使用8小时54分钟”。耗电统计中显示“使用时长为2小时32分钟,待机时间为9小时38分钟,总耗电量为1689mAh,耗电百分比为50%”。
结合图6中(b)可知,截止目前用户所使用的终端设备的总耗电量1689mAh,剩余电量百分比为25%,通过简单计算,可得出用户所使用的终端设备的电池容量:
1689/(1-0.25)=2252mAh
通过查询用户所使用的终端设备的系统数据可知,该终端设备的电池标称容量3400mAh。根据电池标称容量和电池容量,可以得出电池容量剩余的百分比:
2252/3400=66%
最后,根据电池容量剩余的百分比,可以得出电池的折损值约为34%。
在得出终端设备的电量状态和续航能力后,可以根据电量状态和续航能力,得出终端设备进入低功耗模式对应的电量范围。
由于续航能力包括有折损和没有折损两种情况,所以终端设备进入低功耗模式对应的电量范围有多种情况。
第一种:当终端设备刚开始使用,或者使用时间不久时,续航能力中的折损值为0,则每种终端设备进入低功耗模式对应的第一电量范围为每种终端设备的电量状态中的第二电量范围,或者每种终端设备的电量状态中的第三电量范围。
第二种:当终端设备已开始使用一段时间后,续航能力中的折损值不为0。则终端设备进入低功耗模式对应的第一电量范围是根据功耗优化配置文件中终端设备的电量状态和续航能力共同确定的。
例如,通过查询功耗优化配置文件可知,终端设备的电量状态中的第二电量范围为[0~20%]。终端设备的续航能力对应的折损值为30%,所以配置终端设备在70%左右电量时,第一应用进入低功耗模式。即第一电量范围为[0~70%]。
结合前述可知,终端设备的电量状态包括第二电量范围和第三电量范围,因此,第一电量范围可以是根据第二电量范围和终端设备的续航能力确定的,还可以是第三电量范围和终端设备对应的续航能力确定的。
在得出第一电量范围后,判断第一电量是否处于终端设备对应的第一电量范围内。
可选的,功耗优化配置文件支持云推升级。
云推升级具体是指更新功耗优化配置文件中各种终端设备对应的电量状态和续航能力。
当终端设备中的设备数据发生变化时,例如,终端设备所使用的系统版本更新了、第一应用的版本更新了,则需要重新确定终端设备型号对应的电量状态和续航能力。在确定出终端设备型号对应的电量状态和续航能力后,通过云推升级来更新电量状态和续航能力。
或者,为了优化终端设备的功耗,通过引入新的特征,来调整终端设备对应的电量状态和续航能力。最后,通过云推升级来更新电量状态和续航能力。示例性的,引入的新的特征可以包括终端设备的系统配置、终端设备的电池容量、用户对于续航的需求、用户对于界面显示的需求、不同季节对应的电池表现(如,夏季电池耗电快)。这样,调整后得到的终端设备对应的电量状态和续航能力更加客观。
又或者,当用户的需求发生变化,例如,从对使用体验需求比较高转化为对续航需求比较高,则需要重新确定终端设备对应的电量状态和续航能力。在确定出终端设备对应的新的电量状态和新的续航能力后,通过云推升级来更新终端设备对应的新的电量状态和新的续航能力。
具体的,505包括如下步骤:
5051、电池管理模块确定访问第一应用所使用的终端设备为第一设备。
用户进入第一应用后,第一应用为用户展示应用界面。在第一应用为用户展示应用界面之前,第一应用可以确定用户所使用的终端设备为第一设备。
第一应用确定用户所使用的终端设备为第一设备,具体可以是通过用户所使用的终端设备的操作系统,来确定用户的终端设备信息。目前大多终端设备的操作系统都有公开的应用程序接口(Application Program Interface,API)供第三方应用程序(Aapplication,App)获取终端设备的一些基本信息。在得到用户授权后,第三方App可以获得终端设备的操作系统公开的API的访问权限,然后通过API获取所需的信息。
在安卓操作系统中,第三方App(即第一应用)可以获取终端设备型号和安装的所有App信息(安装包名)。在iOS系统中,第三方App(即第一应用)不能直接获取用户终端设备上安装的App列表,但是可以通过查询该终端设备是否安装某个App的方式间接获得此信息。这种方法要求第三方App(即第一应用)内置常用iOS App的id列表,常用iOS App的id列表可以从App Store的网页版抓取的。
5052、电池管理模块从数据存储模块获取功耗优化配置文件,并在功耗优化配置文件中查找第一设备对应的电量状态和续航能力,根据第一设备对应的电量状态和续航能力,确定出第一电量范围。
在确定出终端设备的设备型号为第一设备后,电池管理模块从数据存储模块获取功耗优化配置文件,并在功耗优化配置文件中查找第一设备对应的电量状态和续航能力。接着根据第一设备对应的电量状态和续航能力,确定出第一电量范围。详细内容参见505。
5053、电池管理模块确定第一电量是否处于第一电量范围中。
506、在第一电量处于第一电量范围内时,电池管理模块确定第二电量,并向处理模块发送第二电量。
其中,第二电量属于第二电量范围。
在第一电量处于第一电量范围内时,说明此时需要控制第一设备上的第一应用进入低功耗模式。由于第一应用在开发时,设置了功耗优化策略。功耗优化策略中指出在第一设备的系统电量处于第二电量范围内时,第一应用进入低功耗模式。而第二电量范围与第一电量范围可能相同也可能不相同,所以会出现以下几种情况。
第一种:第二电量范围与第一电量范围相同,在第一电量处于第一电量范围内时,第一电量也处于第二电量范围内,则不需要确定第二电量,第一应用直接进入低功耗模式。
第二种:第二电量范围与第一电量范围不相同,在第一电量处于第一电量范围内时,确定第一电量是否处于第二电量范围。在第一电量也处于第二电量范围内时,不需要确定第二电量,第一应用进入低功耗模式。
例如,第二电量范围为[5%~20%],第一电量范围为[5%~25%]。第一电量为19%,此时虽然第二电量范围和第一电量范围不同,但是第一电量同时处于第二电量范围和第一电量范围内。则不需要确定第二电量,第一应用进入低功耗模式。
第三种:第二电量范围与第一电量范围不相同,在第一电量处于第一电量范围内时,确定第一电量是否处于第二电量范围。在第一电量不处于第二电量范围内时,如果按照第一电量通知第一应用,则第一应用不进入低功耗模式。而第二电量范围是第一应用开发时设置的,没有考虑到不同终端设备之间的差异性,而第一电量范围是考虑到终端设备的系统属性设置的。所以,更希望第一应用能够按照第一电量范围来确定是否进入低功耗模式。
因此,当第二电量范围与第一电量范围不相同,且第一电量处于第一电量范围内,不处于第二电量范围内时,按照第二电量范围调整第一电量,得到第二电量。调整后得到的第二电量处于第二电量范围内,则第一应用进入低功耗模式。
例如,第二电量范围为[5%~20%],第一电量范围为[5%~70%],第一电量为65%,第二电量18%。其中,按照第二电量范围调整第一电量,得到第二电量,可以是根据第二电量范围的右端点值减去预设阈值,得到第二电量。预设阈值可以是基于经验设置的,例如,预设阈值为2或3。第二电量需要大于10%,10%通常为第一设备的关机提醒电量。
507、接收到第二电量后,处理模块根据第二电量修改广播消息中的电量值,并在预设时间后,向第一应用发送第一广播消息。
其中,第一广播消息用于指示终端设备的电量为第二电量。
处理模块将广播消息中的电量值修改为第二电量,并向第一应用发送第一广播消息,当第一应用接收到第一广播消息后,第一应用进入低功耗状态。
为了保证第一应用能够接收到第一广播消息,当终端设备满足第一条件时,需要在预设时间后,才能向第一应用发送第一广播消息。例如,当第一条件为第一应用重启时,第一应用重启完成需要A1秒,则在A1秒后,终端设备向第一应用发送第一广播消息。当第一条件为解锁后立刻进入第一应用时,解锁后立刻进入第一应用需要A2秒,则在A2秒后向第一应用发送第一广播消息。当第一条件为第一应用切换到前台时,第一应用切换到前台需要A3秒,则在A3秒后向第一应用发送第一广播消息。
示例性的,第一广播消息包括如下广播消息。
intent.putExtra(BatteryManager.EXTRA_SEQUENCE,mSequence);//当前电量变化事件的序列号
intent.putExtra(BatteryManager.EXTRA_STATUS,mHealthInfo.batteryStatus);//电池状态,例如充电,充满,放电等
intent.putExtra(BatteryManager.EXTRA_HEALTH,mHealthInfo.batteryHealth);//电池健康度
intent.putExtra(BatteryManager.EXTRA_PRESENT,mHealthInfo.batteryPresent);//是否有电池
intent.putExtra(BatteryManager.EXTRA_LEVEL,mHealthInfo.batteryLevel);//电池电量
intent.putExtra(BatteryManager.EXTRA_BATTERY_LOW,mSentLowBatteryBroadcast);//电池是否为低电量
intent.putExtra(BatteryManager.EXTRA_SCALE,BATTERY_SCALE);//电池的最大电量
intent.putExtra(BatteryManager.EXTRA_ICON_SMALL,icon);//电池的状态栏图标
intent.putExtra(BatteryManager.EXTRA_PLUGGED,mPlugType);//电池的是否插充电器,例如插usb线
intent.putExtra(BatteryManager.EXTRA_VOLTAGE,mHealthInfo.batteryVoltage);//电池电压
intent.putExtra(BatteryManager.EXTRA_TEMPERATURE,mHealthInfo.batteryTemperature);//电池温度
intent.putExtra(BatteryManager.EXTRA_TECHNOLOGY,mHealthInfo.batteryTechnology);//电池使用的技术
intent.putExtra(BatteryManager.EXTRA_INVALID_CHARGER,mInvalidCharger);//电池的充电类型是否不受支持
intent.putExtra(BatteryManager.EXTRA_MAX_CHARGING_CURRENT,mHealthInfo.maxChargingCurrent);//电池的最大充电电流
intent.putExtra(BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE,HealthInfo.maxChargingVoltage);//电池的最大充电电压
intent.putExtra(BatteryManager.EXTRA_CHARGE_COUNTER,mHealthInfo.batteryChargeCounter)//电池的充电次数。
其中,intent.putExtra(BatteryManager.EXTRA_LEVEL,mHealthInfo.batteryLevel)和intent.putExtra(BatteryManager.EXTRA_BATTERY_LOW,mSentLowBatteryBroadcast)是第一广播消息中与电量相关的消息。
508、第一应用响应于接收到的第一广播消息,进入低功耗模式。
结合506可知,第二电量是在第一电量处于第一电量范围内时,确定出的。即终端设备的真实电量值(即第一电量)符合进入低功耗模式的条件,所以得出的第二电量需要落在第二电量范围内。因此,在接收到第一广播消息后,第一应用会进入低功耗模式。
例如,第一应用的功耗优化策略中指出,在终端设备的系统电量在20%及20%以下时,第一应用会进入低功耗模式。由于终端设备有续航折损,续航折损为30%,所以实际上,在终端设备的系统电量为70%时,就需要进入低功耗模式。
由于获取到终端设备的第一电量为65%,若按照第一应用的功耗优化策略,终端设备不会进入低功耗模式。所以基于本申请的方案,需要将第一电量从65%调整到20%及20%以下,得到第二电量,第二电量为18%,之后终端设备按照第二电量发送第一广播消息,从而使第一应用进入低功耗模式。
因此,本申请的方案通过根据终端设备的系统属性,合理安排第一应用进入低功耗模式的时机,不仅顺应了第一应用本身的功耗优化策略,还能提升了用户的续航体验。
可选的,在501-505之后,该方法还包括509-511。
509、在第一电量处于第一电量范围外时,电池管理模块确定第三电量,并向处理模块发送第三电量。
其中,第三电量不属于第二电量范围。
由于第一电量范围是根据终端设备的系统属性设置的,所以第一应用是否进入低功耗模式需要按照第一电量范围来确定。所以,当第一电量处于第一电量范围之外时,第一应用不需要进入低功耗模式。
结合506可知,第二电量范围与第一电量范围可能相同也可能不相同。所以当第一电量处于第一电量范围外时,会出现以下几种情况。
第一种:第二电量范围与第一电量范围相同,在第一电量处于第一电量范围外时,第一电量也处于第二电量范围外,则不需要确定第三电量,第一应用正常运行即可。
第二种:第二电量范围与第一电量范围不相同,在第一电量处于第一电量范围外时,若第一电量处于第二电量范围内,此时如果按照第一电量通知第一应用,则第一应用会进入低功耗模式。而实际上,更希望第一应用能够按照第一电量范围来确定是否进入低功耗模式。
因此,当第二电量范围与第一电量范围不相同,在第一电量处于第一电量范围外时,若第一电量处于第二电量范围内,则按照第二电量范围调整第一电量,得到第三电量。调整后得到的第三电量不处于第二电量范围内,则第一应用不进入低功耗模式。示例性的,第二电量范围为[5%~20%],第一电量范围为[5%~15%],第一电量为18%,第三电量22%。
在得到第三电量后,将第三电量发送给处理模块,处理模块根据第三电量修改广播消息,得到第二广播消息。
第三种:第二电量范围与第一电量范围不相同,在第一电量处于第一电量范围外时,若第一电量也处于第二电量范围外,直接将第一电量通过广播消息发布即可。
510、接收到第三电量后,处理模块根据第三电量修改广播消息中的电量值,并在预设时间后,向第一应用发送第二广播消息。
其中,第二广播消息用于指示终端设备的电量为第三电量。
处理模块将广播消息中的电量值修改为第三电量,当第一应用接收到第二广播消息后,正常运行即可。
其中,第二广播消息可以参考507中的第一广播消息。
511、第一应用响应于接收到的第二广播消息,不进入低功耗模式。
结合509可知,第三电量是在第一电量处于第一电量范围之外时,确定出的。即终端设备的真实电量值(即第一电量)不符合进入低功耗模式的条件,所以得出的第三电量需要落在第二电量范围外。因此,在接收到第二广播消息后,第一应用不进入低功耗模式,正常运行即可。
例如,第一应用的功耗优化策略中指出,在终端设备的系统电量在20%及20%以下时,第一应用会进入低功耗模式。
由于获取到终端设备的第一电量为18%,若按照第一应用的功耗优化策略,终端设备会进入低功耗模式。但是该终端设备的电池容量有8000mAh,当终端设备的系统电量为20%时,终端设备还有1600mAh的电量,并且终端设备没有续航折损。所以,此时终端设备不需要进入低功耗模式。
基于本申请的方案,此时需要将第一电量从18%调整到20%及20%以上,得到第三电量,第三电量为22%。之后终端设备按照第三电量,发送第二广播消息,从而使第一应用避免进入低功耗模式,进而提升用户的使用体验。
如图7所示,本申请实施例提供另一种功耗优化方法,以电子设备是终端设备为例,该方法包括:
701、响应于来自处理模块的监控消息,监管模块确定终端设备满足第一条件。
第一应用为在开发过程中,设置功耗优化策略的应用。功耗优化策略中还包括当第一设备的电池健康值处于第二电池健康范围内时,第一应用进入低功耗模式。详细内容参见501。
702、在终端设备满足第一条件的情况下,监管模块向处理模块发送监管回复消息。
其中,监管回复消息用于告知处理模块,终端设备满足第一条件。
703、响应于监管回复消息,处理模块向电池管理模块发送获取电池健康状态的消息。
其中,获取电池健康状态的消息用于指示电池管理模块获取终端设备的电池健康状态。
704、响应于获取电池健康状态的消息,电池管理模块从数据存储模块获取终端设备的电池健康状态。
其中,电池健康状态包括第一电池健康值。第一电池健康值为终端设备当前的电池健康值。第一电池健康值通常以百分比的形式表示。电池健康状态(state of health,SOH):是指在标准条件下,电池从充满状态以一定倍率放电到截止电压时,放出的能量与其对应的标称额定能量的比值。
具体的,当第一条件是第一应用重启、第一应用从后台切换到前台、解锁终端设备后进入第一应用时,电池管理模块可以从数据存储模块中获取终端设备的电池健康状态,从而得到第一电池健康值。
由于终端设备的系统电量发生变化时,终端设备会向所有的应用发送广播消息。所以当第一条件是终端设备的系统电量发生变化时,电池管理模块可以根据接收到的广播消息,得出电池健康状态中的第一电池健康值。示例性的,广播消息中的BatteryManager.EXTRA_HEALTH消息用于指示终端设备的第一电池健康值。
705、电池管理模块确定第一电池健康值是否处于第一电池健康范围内。
具体的,第一电池健康范围为基于终端设备的系统属性设置的,终端设备进入低功耗模式对应的电池健康范围。
第一电池健康范围可以通过功耗优化配置文件确定。功耗优化配置文件中包括多种终端设备和多种终端设备中每种终端设备的电池健康状态和续航能力。根据每种终端设备的电池健康状态和续航能力,可以确定出每种终端设备进入低功耗模式对应的电池健康范围。
即,在功耗优化配置文件中,确定出终端设备的电池健康状态和续航能力,然后根据终端设备的电池健康状态和续航能力,可以确定出第一电池健康范围。也就是说,第一电池健康范围是基于终端设备的系统属性(即电池健康状态和续航能力)设置的。
其中,终端设备对应的电池健康状态包括第二电池健康范围和第三电池健康范围,第二电池健康范围是第一应用对应的功耗优化策略中的电池健康范围。第三电池健康范围是根据终端设备的电池健康状态和用户使用终端设备的需求(如,用户更关注使用应用体验感,不注重续航)等特征设置的。
随着终端设备的使用,电池容量必然会产生折损。终端设备对应的续航能力包括终端设备的电池容量的折损值。电池容量的折损值可以通过多种方式确定。例如,根据电池容量的损耗因子确定。电池容量的损耗因子可以通过电池容量对应的商业大数据确定。电池容量对应的商业大数据包括各种终端设备的电池数据。
或者,对于每个用户而言,还可以先确定出每个用户所使用的终端设备的设备型号,然后根据该终端设备的发行时间、终端设备的激活时间以及该终端设备对应的电池损耗因子,确定出每个用户所使用的终端设备对应的折损值。之后可以根据每个用户所使用的终端设备的折损值和第二电池健康范围,确定出每个用户所使用的终端设备对应的第一电池健康范围。最后根据每个用户所使用的终端设备对应的第一电池健康范围,确定第一应用进入低功耗模式的时机,从而为每个用户提供定制化的功耗优化。
在得出终端设备的电池健康状态和续航能力后,可以根据电池健康状态和续航能力,得出终端设备进入低功耗模式对应的电池健康范围。
由于续航能力包括有折损和没有折损两种情况,所以终端设备进入低功耗模式对应的电池健康范围有多种情况。
第一种:当终端设备刚开始使用,或者使用时间不久时,续航能力中的折损值为0,则每种终端设备进入低功耗模式对应的第一电池健康范围为每种终端设备的电池健康状态中的第二电池健康范围,或者每种终端设备的电池健康状态中的第三电池健康范围。
第二种:当终端设备已开始使用一段时间后,续航能力中的折损值不为0,则终端设备进入低功耗模式对应的第一电池健康范围是根据功耗优化配置文件中终端设备的电池健康状态和续航能力共同确定的。
结合前述可知,终端设备的电池健康状态包括第二电池健康范围和第三电池健康范围,因此,第一电池健康范围可以是根据第二电池健康范围和终端设备的续航能力确定的,还可以是第三电池健康范围和终端设备对应的续航能力确定的。
在得出第一电池健康范围后,判断第一电池健康值是否处于终端设备对应的第一电池健康范围内。
其中,705包括如下步骤:
7051、电池管理模块确定访问第一应用所使用的终端设备为第一设备。
详细内容参见5051。
7052、电池管理模块从数据存储模块获取功耗优化配置文件,并在功耗优化配置文件中查找第一设备对应的电池健康状态和续航能力,根据第一设备对应的电池健康状态和续航能力,确定出第一电池健康范围。
在确定出终端设备的设备型号为第一设备后,电池管理模块从数据存储模块获取功耗优化配置文件,并在功耗优化配置文件中查找第一设备对应的电池健康状态和续航能力。接着根据第一设备对应的电池健康状态和续航能力,确定出第一电池健康范围。详细内容参见705。
7053、电池管理模块确定第一电池健康值是否处于第一电池健康范围中。
706、在第一电池健康值处于第一电池健康范围内时,电池管理模块确定第二电池健康值,并向处理模块发送第二电池健康值。
其中,第二电池健康值属于第二电池健康范围内。
在第一电池健康值处于第一电池健康范围内时,说明此时需要控制第一设备上的第一应用进入低功耗模式。由于第一应用在开发时,设置了功耗优化策略。功耗优化策略中指出在第一设备的系统电量处于第二电池健康范围内时,第一应用进入低功耗模式。而第二电池健康范围与第一电池健康范围可能相同也可能不相同,所以会出现以下几种情况。
第一种:第二电池健康范围与第一电池健康范围相同,在第一电池健康值处于第一电池健康范围内时,第一电池健康值也处于第二电池健康范围内,则不需要确定第二电池健康值,第一应用直接进入低功耗模式。
第二种:第二电池健康范围与第一电池健康范围不相同,在第一电池健康值处于第一电池健康范围内时,确定第一电池健康值是否处于第二电池健康范围。在第一电池健康值也处于第二电池健康范围内时,不需要确定第二电池健康值,第一应用进入低功耗模式。
第三种:第二电池健康范围与第一电池健康范围不相同,在第一电池健康值处于第一电池健康范围内时,确定第一电池健康值是否处于第二电池健康范围。在第一电池健康值不处于第二电池健康范围内时,如果按照第一电池健康值通知第一应用,则第一应用不进入低功耗模式。而第二电池健康范围是第一应用开发时设置的,没有考虑到不同终端设备之间的差异性,而第一电池健康范围是考虑到终端设备的系统属性设置的。所以,更希望第一应用能够按照第一电池健康范围来确定是否进入低功耗模式。
因此,当第二电池健康范围与第一电池健康范围不相同,且第一电池健康值处于第一电池健康范围内,不处于第二电池健康范围内时,按照第二电池健康范围调整第一电池健康值,得到第二电池健康值。调整后得到的第二电池健康值处于第二电池健康范围内,则第一应用进入低功耗模式。
707、接收到第二电池健康值后,处理模块根据第二电池健康值修改广播消息中的电池健康值,并在预设时间后,向第一应用发送第三广播消息。
其中,第三广播消息用于指示终端设备的电池健康值为第二电池健康值。
处理模块广播消息中的电池健康值修改为第二电池健康值,并向第一应用发送第三广播消息,当第一应用接收到第三广播消息后,第一应用进入低功耗状态。
为了保证第一应用能够接收到第三广播消息,当终端设备满足第一条件时,需要在预设时间后,才能向第一应用发送第三广播消息。例如,当第一条件为第一应用重启时,第一应用重启完成需要A1秒,则在A1秒后,终端设备向第一应用发送第三广播消息。当第一条件为解锁后立刻进入第一应用时,解锁后立刻进入第一应用需要A2秒,则在A2秒后向第一应用发送第三广播消息。当第一条件为第一应用切换到前台时,第一应用切换到前台需要A3秒,则在A3秒后向第一应用发送第三广播消息。
示例性的,第三广播消息可以参考507中的第一广播消息。其中,intent.putExtra(BatteryManager.EXTRA_HEALTH,mHealthInfo.batteryHealth)是第三广播消息中与电池健康值相关的消息。
708、第一应用响应于接收到的第三广播消息,进入低功耗模式。
结合706可知,第二电池健康值是在第一电池健康值处于第一电池健康范围内时,确定出的。即终端设备的真实电池健康值(即第一电池健康值)符合进入低功耗模式的条件,所以得出的第二电池健康值需要落在第二电池健康范围内。因此,在接收到第三广播消息后,第一应用会进入低功耗模式。
可选的,在701-705之后,该方法还包括709-711。
709、在第一电池健康值处于第一电池健康范围外时,电池管理模块确定第三电池健康值,并向处理模块发送第三电池健康值。
其中,第三电池健康值不属于第二电池健康范围。
由于第一电池健康范围是根据终端设备的系统属性设置的,所以第一应用是否进入低功耗模式需要按照第一电池健康范围来确定。所以,当第一电池健康值处于第一电池健康范围之外时,第一应用不需要进入低功耗模式。
结合706可知,第二电池健康范围与第一电池健康范围可能相同也可能不相同。所以当第一电池健康值处于第一电池健康范围外时,会出现以下几种情况。
第一种:第二电池健康范围与第一电池健康范围相同,在第一电池健康值处于第一电池健康范围外时,第一电池健康值也处于第二电池健康范围外,则不需要确定第三电池健康值,第一应用正常运行即可。
第二种:第二电池健康范围与第一电池健康范围不相同,在第一电池健康值处于第一电池健康范围外时,若第一电池健康值处于第二电池健康范围内,此时如果按照第一电池健康值通知第一应用,则第一应用会进入低功耗模式。而实际上,更希望第一应用能够按照第一电池健康范围来确定是否进入低功耗模式。
因此,当第二电池健康范围与第一电池健康范围不相同,在第一电池健康值处于第一电池健康范围外时,若第一电池健康值处于第二电池健康范围内,则按照第二电池健康范围调整第一电池健康值,得到第三电池健康值。调整后得到的第三电池健康值不处于第二电池健康范围内,则第一应用不进入低功耗模式。
在得到第三电池健康值后,将第三电池健康值发送给处理模块,处理模块根据第三电池健康值修改广播消息,得到第四广播消息。
第三种:第二电池健康范围与第一电池健康范围不相同,在第一电池健康值处于第一电池健康范围外时,若第一电池健康值也处于第二电池健康范围外,直接将第一电池健康值通过广播消息发布即可。
710、接收到第三电池健康值后,处理模块根据第三电池健康值修改广播消息中的电池健康值,并在预设时间后,向第一应用发送第四广播消息。
其中,第四广播消息用于指示终端设备的电池健康值为第三电池健康值。
处理模块将广播消息中的电池健康值修改为第三电池健康值,当第一应用接收到第四广播消息后,正常运行即可。
其中,第四广播消息可以参考507中的第一广播消息。
711、第一应用响应于接收到的第四广播消息,不进入低功耗模式。
结合709可知,第三电池健康值是在第一电池健康值处于第一电池健康范围之外时,确定出的。即终端设备的真实电池健康值(即第一电池健康值)不符合进入低功耗模式的条件,所以得出的第三电池健康值需要落在第二电池健康范围外。因此,在接收到第四广播消息后,第一应用不进入低功耗模式,正常运行即可。
在一些实施例中,提供另一种功耗优化方法。以图8为例,在满足第一条件时,即终端设备中的第一应用重启时、终端设备中的第一应用从后台切换到前台时、解锁终端设备后进入第一应用时以及终端设备的系统电量发生变化时,获取终端设备的电量状态。然后确定电量状态中的第一电量是否处于第一电量范围内。其中,第一电量范围是根据终端设备的系统属性设定的,终端设备中的第一应用进入低功耗模式对应的电量范围。
第一应用为在开发时,设置了功耗优化策略的应用。功耗优化策略中指出,在终端设备的系统电量处于第二电量范围内时,第一应用进入低功耗模式。
若电量状态中的第一电量不处于第一电量范围内,则整个流程结束。若电量状态中的第一电量处于第一电量范围内,则第一应用此时需要进入低功耗模式。由于第一应用在开发时设置了,只有在终端设备的系统电量处于第二电量范围内时,第一应用才会进入低功耗模式。而根据第一电量范围,第一应用现在就需要进入低功耗模式。所以,此时需要确定第二电量,第二电量落在第二电量范围内,之后按照第二电量来通知第一应用当前的系统电量,由于第二电量落在第二电量范围内,所以第一应用会直接进入低功耗模式。
根据第二电量,确定第一广播消息。接着确定预设时长,预设时长用于保证第一应用能够接收到第一广播消息。最后,终端设备在预设时长后发布第一广播消息,第一应用接收到第一广播消息后,进入低功耗模式。
本申请另一些实施例提供了一种电子设备(如图3所示的电子设备300),该电子设备可以包括:通信模块、存储器和一个或多个处理器。该通信模块、存储器与处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。
本申请另一实施例提供一种芯片系统,如图9所示,该芯片系统包括至少一个处理器901和至少一个接口电路902。处理器901和接口电路902可通过线路互联。例如,接口电路902可用于从其它装置接收信号。又例如,接口电路902可用于向其它装置(例如处理器901)发送信号。
例如,接口电路902可读取设备中存储器中存储的指令,并将该指令发送给处理器901。当指令被处理器901执行时,可使得电子设备(如图3所示的电子设备300)执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令在电子设备(如图3所示的电子设备300)上运行时,使得电子设备300执行上述方法实施例中电子设备(例如,手机)执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中电子设备(例如,手机)执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种功耗优化方法,其特征在于,应用于终端设备,所述终端设备包括第一应用,所述方法包括:
响应于满足第一条件,获取第一电量,所述第一条件包括所述第一应用重启、所述第一应用从后台切换到前台、解锁所述终端设备后进入所述第一应用或所述终端设备的系统电量发生变化中的任一种;其中,所述系统电量发生变化时,发布包括所述第一电量的广播消息;
确定所述第一电量是否处于第一电量范围,所述第一电量范围是基于所述终端设备的电量状态和续航能力设置的;
在所述第一电量处于所述第一电量范围内时,确定第二电量,所述第二电量属于第二电量范围,所述第一应用中设置了功耗优化策略,所述功耗优化策略用于指示所述第一应用在所述终端设备的系统电量处于所述第二电量范围内时进入低功耗模式;
将所述广播消息中的所述第一电量修改为所述第二电量,得到第一广播消息;
在预设时长后,发布所述第一广播消息,所述第一广播消息用于指示所述终端设备的电量为所述第二电量;
响应于接收到所述第一广播消息,所述第一应用进入低功耗模式。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述第一电量是否处于第一电量范围之后,所述方法还包括:
在所述第一电量处于所述第一电量范围外时,确定第三电量,所述第三电量不属于所述第二电量范围;
将所述广播消息中的所述第一电量修改为所述第三电量,得到第二广播消息;
在预设时长后,发布所述第二广播消息,所述第二广播消息用于指示所述终端设备的电量为所述第三电量;
响应于接收到所述第二广播消息,所述第一应用不进入低功耗模式。
3.根据权利要求1所述的方法,其特征在于,所述在所述第一电量处于所述第一电量范围内时,确定第二电量,包括:
在所述第一电量处于所述第一电量范围内时,若所述第一电量处在所述第二电量范围外,确定第二电量。
4.根据权利要求1或2所述的方法,其特征在于,所述预设时长包括第一时长、第二时长或第三时长,所述第一时长为所述第一应用重启所需的时长,所述第二时长为所述第一应用从后台切换到前台所需的时长,所述第三时长为解锁所述终端设备后进入所述第一应用所需的时长。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述终端设备的电量状态和续航能力是从功耗优化配置文件中获取的,所述功耗优化配置文件包括多种终端设备以及所述多种终端设备中每种终端设备的电量状态和续航能力。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述电量状态包括所述第二电量范围和第三电量范围,所述第一电量范围是基于所述第二电量范围和所述终端设备的续航能力设置的,或者所述第一电量范围是基于所述第三电量范围和所述终端设备的续航能力设置的,所述第三电量范围是根据所述终端设备的电池容量和用户需求设置的。
7.根据权利要求5所述的方法,其特征在于,所述确定所述第一电量是否处于第一电量范围,包括:
确定访问第一应用所使用的所述终端设备为第一设备;
在所述功耗优化配置文件中查找所述第一设备的电量状态和续航能力,并根据所述第一设备的电量状态和续航能力,确定所述第一电量范围;
确定所述第一电量是否处于第一电量范围中。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述低功耗模式包括降低所述第一应用的图层绘制和图层合成。
9.一种功耗优化方法,其特征在于,应用于终端设备,所述终端设备包括第一应用,所述方法包括:
响应于满足第一条件,获取第一电池健康值,所述第一条件包括所述第一应用重启、所述第一应用从后台切换到前台、解锁所述终端设备后进入所述第一应用或所述终端设备的系统电量发生变化中的任一种;其中,所述系统电量发生变化时,发布包括所述第一电池健康值的广播消息;
确定所述第一电池健康值是否处于第一电池健康范围,所述第一电池健康范围是基于所述终端设备的电池健康状态和续航能力设置的;
在所述第一电池健康值处于所述第一电池健康范围内时,确定第二电池健康值,所述第二电池健康值属于所述第二电池健康范围,所述第一应用中设置了功耗优化策略,所述功耗优化策略用于指示所述第一应用在所述终端设备的电池健康值处于所述第二电池健康范围内时进入低功耗模式;
将所述广播消息中的所述第一电池健康值修改为第二电池健康值,得到第三广播消息;
在预设时长后,发布所述第三广播消息,所述第三广播消息用于指示所述终端设备的电池健康值为所述第二电池健康值;
响应于接收到所述第三广播消息,所述第一应用进入低功耗模式。
10.根据权利要求9所述的方法,其特征在于,在所述确定所述第一电池健康值是否处于第一电池健康范围之后,所述方法还包括:
在所述第一电池健康值处于所述第一电池健康范围外时,确定第三电池健康值,所述第三电池健康值不属于所述第二电池健康范围;
将所述广播消息中的所述第一电池健康值修改为第三电池健康值,得到第四广播消息;
在预设时长后,发布所述第四广播消息,所述第四广播消息用于指示所述终端设备的电池健康值为所述第三电池健康值;
响应于接收到所述第四广播消息,所述第一应用不进入低功耗模式。
11.一种电子设备,其特征在于,所述电子设备包括:无线通信模块、存储器和一个或多个处理器;所述无线通信模块、所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述第一设备执行如权利要求1-8或9-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在第一设备上运行时,使得所述第一设备执行如权利要求1-8或9-10中任一项所述的方法。
CN202210745545.XA 2022-06-27 2022-06-27 功耗优化方法和设备 Active CN116107412B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311362232.7A CN117590924A (zh) 2022-06-27 2022-06-27 显示界面的方法和终端设备
CN202210745545.XA CN116107412B (zh) 2022-06-27 2022-06-27 功耗优化方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210745545.XA CN116107412B (zh) 2022-06-27 2022-06-27 功耗优化方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311362232.7A Division CN117590924A (zh) 2022-06-27 2022-06-27 显示界面的方法和终端设备

Publications (2)

Publication Number Publication Date
CN116107412A CN116107412A (zh) 2023-05-12
CN116107412B true CN116107412B (zh) 2023-10-27

Family

ID=86266131

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311362232.7A Pending CN117590924A (zh) 2022-06-27 2022-06-27 显示界面的方法和终端设备
CN202210745545.XA Active CN116107412B (zh) 2022-06-27 2022-06-27 功耗优化方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311362232.7A Pending CN117590924A (zh) 2022-06-27 2022-06-27 显示界面的方法和终端设备

Country Status (1)

Country Link
CN (2) CN117590924A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527659A (zh) * 2016-10-24 2017-03-22 宇龙计算机通信科技(深圳)有限公司 终端控制方法、终端控制装置和终端
CN107205261A (zh) * 2017-07-24 2017-09-26 京信通信系统(中国)有限公司 一种终端节能方法、终端及基站
CN111722695A (zh) * 2019-03-18 2020-09-29 北京小米移动软件有限公司 终端设备功耗优化方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104322042A (zh) * 2012-08-29 2015-01-28 东莞宇龙通信科技有限公司 终端和终端工作状态的调整方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527659A (zh) * 2016-10-24 2017-03-22 宇龙计算机通信科技(深圳)有限公司 终端控制方法、终端控制装置和终端
CN107205261A (zh) * 2017-07-24 2017-09-26 京信通信系统(中国)有限公司 一种终端节能方法、终端及基站
CN111722695A (zh) * 2019-03-18 2020-09-29 北京小米移动软件有限公司 终端设备功耗优化方法及装置

Also Published As

Publication number Publication date
CN117590924A (zh) 2024-02-23
CN116107412A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
WO2021249087A1 (zh) 卡片分享方法、电子设备及通信系统
CN105075241A (zh) 电子装置和处理图像的方法
CN116680153B (zh) 应用帧率平滑方法、电子设备及存储介质
CN112783384A (zh) 一种云应用运行的控制方法及电子设备
CN115016631B (zh) 进程调度方法和终端设备
CN116107412B (zh) 功耗优化方法和设备
US20240137870A1 (en) Power Consumption Control Method and Apparatus
CN115220881A (zh) 进程管理方法、电子设备、进程管理系统以及存储介质
CN116700602B (zh) 一种查询扩展内存寿命的方法及设备
CN116055443B (zh) 识别社交场景的方法、电子设备及计算机可读存储介质
CN116719556B (zh) 系统升级的方法和电子设备
CN116048544B (zh) 一种弹窗广告的处理方法、电子设备及可读存储介质
CN116738073B (zh) 常驻地的识别方法、设备及存储介质
WO2022179283A1 (zh) 推送消息的发送方法、电子设备及可读介质
CN116089055B (zh) 资源调度方法和装置
CN113805949B (zh) 图片显示方法和装置
WO2024032430A1 (zh) 管理内存的方法和电子设备
CN117707405A (zh) 显示屏控制方法及相关设备
CN117579606A (zh) Ota更新方法及相关装置
CN117639137A (zh) 反向充电系统、方法及相关装置
CN117707242A (zh) 温度控制方法及相关装置
CN115840528A (zh) 存储盘的水线设置方法、电子设备及存储介质
CN117555245A (zh) 场景配置方法、电子设备及系统
CN117707449A (zh) 显示控制方法及相关设备
CN117729561A (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
GR01 Patent grant
GR01 Patent grant