减少终端发热的方法、装置、移动终端及存储介质与流程

文档序号:12890200阅读:158来源:国知局
减少终端发热的方法、装置、移动终端及存储介质与流程

本发明涉及移动终端技术领域,更具体地,涉及一种减少终端发热的方法、装置、移动终端及存储介质。



背景技术:

所谓前台进程是指用户正在操作的程序,所谓后台进程是指用户没有操作也在运行的程序。

目前终端中可能安装有一些没有经过严格审核的应用程序,这些应用程序在后台运行时,占用大量的cpu(centralprocessingunit,中央处理器)资源,甚至会导致终端发热,现有技术中,当终端的温度超过预设的温度时,会限制相关原器件发热,直到温度降低到预估温度后放开对相关原器件的限制,例如cpu和gpu等。

但是,现有技术采用的方案,当终端的温度超过预设温度时,会对cpu或gpu进行限频,如果是后台进程导致的终端发热而不是前台进程导致时,不仅会造成前台进程的卡顿,同时也无法有效的解决温度上升的问题。



技术实现要素:

鉴于上述问题,本发明提出了一种减少终端发热的方法、装置、移动终端及存储介质,其能有效的解决终端发热的问题,减少对终端性能的影响,同时降低了终端的耗电量,增加了终端的续航能力。

第一方面,本发明实施例提供了一种减少终端发热的方法,该方法在实现的过程中,首先获取终端的第一后台进程的运行功耗值和导致发热次数值,然后判断该导致发热次数值是否大于预设的次数值,最后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率,从而通过降低后台进程的功耗,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

结合第一方面,本发明在第一方面的第一种实现方式中,获取终端的当前温度,再判断该温度是否高于预设温度,当判断当前温度高于预设温度时,减少第一后台进程占有cpu的时间片,从而降低后台进程的cpu占用率,减少终端发热。

结合第一方面的第一种实现方式,在本发明第一方面的第二种实现方式中,判断当前温度是否高于预设温度,当判断当前温度高于预设温度时,挂起第一后台进程,从而进一步的降低后台进程的cpu占用率,减少终端发热。

结合第一方面,在本发明第一方面的第三种实现方式中,当在检测到终端处于灭屏状态时,判断当前温度是否高于预设温度,当判断当前温度高于预设温度时,杀掉第一后台进程,从而消除后台进程的消耗,解决终端发热的问题。

结合第一方面,在本发明第一方面的第四种实现方式中,首先判断当前温度是否高于预设温度,然后当判断当前温度高于预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,当前台进程的cpu占用率大于多个后台进程的cpu占用率时,限制终端的cpu的频率,当多个后台进程的cpu占用率大于前台进程的cpu占用率时,执行获取终端的第一进程的运行功耗值和导致发热次数值,通过这种方式,可以判断导致终端发热的原因,并根据不同原因采取不同的解决方案来解决终端发热的问题。

结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,当判断当前温度高于预设温度时,判断导致当前温度高于预设温度的硬件,当判断导致当前温度高于预设温度的硬件是cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,从而通过这种方式判断导致发热的硬件是否是cpu。

结合第一方面,在第一方面的第六种实现方式中,首先判断当前温度是否高于预设温度,在当前温度高于预设温度时,获取多个后台进程消耗的平均电流,然后当后台进程消耗的平均电流大于多个后台进程的电流最大阈值时,执行获取终端的第一后台进程的运行功耗值和导致发热次数值,从而可以判断导致终端发热的原因是否是后台进程。

结合第一方面,在第一方面的第七中实现方式中,当获取到第一后台进程切换到前台进程时,取消掉之前对所述第一后台进程的所有限制。

第二方面,本实施例提供了一种减少终端发热的装置,该装置包括:信息获取模块,用于获取终端的第一后台进程的运行功耗值和导致发热次数值;次数判断模块,用于判断该导致发热次数值是否大于预设的次数值;第一控制模块,用于当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率,从而通过降低后台进程的功耗,解决终端发热的问题,减少对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

第三方面,本发明提供了一种移动终端,该移动终端包括处理以及存储器,存储器耦接到处理器,存储器用于存储上述减少终端发热的方法的程序,该处理器被配置为用于执行存储器中存储的程序。

第四方面,本发明提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时执行如下操作:首先获取终端的第一后台进程的运行功耗值和导致发热次数值,然后判断该导致发热次数值是否大于预设的次数值,最后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率。

相对于现有技术,本发明提供的减少终端发热的方法、装置、移动终端及存储介质,首先获取终端的第一后台进程的运行功耗值和导致发热次数值,然后判断该导致发热次数值是否大于预设的次数值,最后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率,从而通过降低后台进程的功耗,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种可用于本发明实施例中的移动终端的结构框图;

图2示出了本发明第一实施例提供的减少终端发热的方法的流程图;

图3示出了本发明第二实施例提供的减少终端发热的方法的流程图;

图4示出了本发明第三实施例提供的减少终端发热的方法的流程图;

图5示出了本发明第三实施例提供的减少终端发热的方法的步骤s340的流程图;

图6示出了本发明第四实施例提供的减少终端发热的方法的流程图;

图7示出了本发明第五实施例提供的减少终端发热的装置的结构框图;

图8示出了本发明第六实施例提供的减少终端发热的装置的结构框图;

图9示出了本发明第七实施例提供的减少终端发热的装置的结构框图;

图10示出了本发明第八实施例提供的减少终端发热的装置的结构框图;

图11示出了可实现本发明减少终端发热的方法的计算设备的示意图;

图12示出了一种计算机程序产品的固定存储单元的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面将对本发明实施例中用到的名词进行介绍。

进程:是计算机中的程序关于某数据集合上的一次运行活动,是分配资源的基本单位,一个进程中可以包含若干个线程,线程是独立运行和独立调度的基本单位,是操作系统结构的基础。

小核:是指主频低、功耗低的处理器,其负责低功耗处理。

大核:是指主频高,负责高性能的应用。

时间片:cpu分配给各个程序的时间,每个线程被分配一个时间段,称它为时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。

图1示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图1,手机包括:射频(radiofrequency,rf)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wirelessfidelity,wifi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图1对手机的各个构成部件进行具体的介绍:

rf电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,rf电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图1中,触控面板1531与显示面板1541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1560、扬声器1561,传声器1562可提供用户与手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经rf电路1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了wifi模块1570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。

手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

第一实施例

请参照图2,图2示出了本发明第一实施例提供的减少终端发热的方法的流程图,下面将针对图2所示的方法进行详细的阐述,所述方法包括:

步骤s110:获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

在终端的内核空间描述进程数据结构体中增加进程的“运行功耗值”和“导致发热次数值”这两个属性值,其中,该内核空间描述进程的数据结构是task_struct,作为一种方式“运行功耗值”可以用power_cur代替,“导致发热次数值”可以用fever_time_constant代替。刚开始这两个属性值都为预设值,优选的,在本实施例中,运行功耗值的预设值为0,导致发热次数值的预设值为0,可以理解的,在上述情况下,终端开机运行的每个进程其对应的内核空间上都有上述两个属性值,即都有运行功耗值和导致发热次数值,在应用启动时,其初始值都为0,在后续的运行中,用户空间会根据后台进程运行的实际情况,通知内核空间上述两个属性值是否改变,其中,该运行功耗值和导致发热次数值的估算可以依据android原生有的一个电量消耗的基础电流数据配置表power_profile.xml,这个表里面有亮屏、modem通信、bt通信、wifi通信、cpu运行在各个频段上的电流估值、电池电量等。作为一种方式,在终端发热时,获取第一后台进程的运行功耗值和导致发热次数值。

作为一种方式,终端可以获取后台运行的应用程序对应的后台进程,其中,每个应用程序可对应一个或多个进程,每个后台进程均对应一个标识信息,其中,该标识信息可以但不仅限于pid号(进程标识符),终端可以获取后台进程的标识信息,根据标识信息获取后台进程对应的运行功耗值和导致发热次数值。

步骤s120:判断所述导致发热次数值是否大于预设的次数值。

将获取到的第一后台进程的导致发热次数值与预设的次数值进行对比,其中,当预设的次数值为0时,判断所述导致发热次数值是否大于0。

步骤s130:当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

当导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,可以理解的,当有多个后台进程的导致发热次数值都大于预设的次数值时,将多个后台进程都放置在终端的cpu的小核上运行,即把导致发热次数值大于预设次数值的后台进程统一放到一个小核的进程调度队列里面,需要说明的是,在上述情况下,放置在小核上的后台进程不能在其他核上调度,其中,cpu的大核负责高性能的应用,cpu的小核负责低功耗,因此,从小核上选取一个cpu,作为限制后台进程发热专用的,将第一后台进程放置在小核上,可以有效的减少第一后台进程的功耗,从而减少终端的发热。

进一步的,在将第一后台进程放置在cpu的小核上运行时,根据获取的第一后台进程的运行功耗值限制该终端的cpu的频率,其中,运行功耗值主要是后台进程消耗的平均电流。可以理解的,比如cpu有8个频段,当将第一后台进程放置在cpu的小核上时,根据实际情况,限制cpu在哪个频段上运行,通过限制cpu的频率,减少后台进程运行时候的电流,进一步的减少终端的发热。

作为本实施例的一种实施方式,当检测到终端是处于灭屏状态发热时,将第一后台进程放置在小核上运行一定时间后杀掉该第一后台进程,优选的,将第一后台进程放置在小核上运行半个小时后杀掉该第一后台进程;进一步的,在一定时间内,当获取到终端亮屏且第一后台进程切换为前台进程时,解除对该第一后台进程的限制,包括将该第一后台进程放到非后台限制小核专用cpu调度结构上,同时取消终端的cpu的频率的限制等;进一步的,当再次将该前台进程切换为后台进程时,如果估算该进程的运行功耗值过大时,直接将该进程设置于终端的cpu的小核上运行。

本发明第一实施例提供的减少终端发热的方法通过首先获取终端的第一后台进程的运行功耗值和导致发热次数值,然后判断该导致发热次数值是否大于预设的次数值,最后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率,从而通过降低后台进程的功耗,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

第二实施例

请参照图3,图3示出了本发明第二实施例提供的减少终端发热的方法的流程图,下面将针对图3所示的方法进行详细的阐述,所述方法包括:

步骤s210:获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

步骤s220:判断所述导致发热次数值是否大于预设的次数值。

步骤s230:当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

步骤s240:获取所述终端的当前温度。

在本实施例中,在将第一后台进程放置到终端的cpu的一个小核上运行,并根据运行功耗值限制cpu频率后,可以减少终端的一部分温度,为了判断该终端的温度是否降低到理想温度,还需要进一步判断,即获取终端的当前温度,其中,该终端当前温度可以通过设置在终端主板上的温度传感器获取。

步骤s250:判断所述当前温度是否高于预设温度。

终端设置有预设温度,作为一种方式,该预设温度可以为30°,可以为40°,也可以为50°等,根据具体的要求不同,可以设置为不同的预设温度,在此不做具体的限定。将获取的当前温度与预设温度进行对比,判断当前温度是否高于预设温度。

步骤s260:当判断所述当前温度高于所述预设温度时,减少所述第一后台进程占用所述cpu的时间片。

当判断当前温度低于或等于预设温度时,表示终端温度已经通过将第一后台进程放置在小核上和限制cpu的频率降低到预设温度,可以不再通过其他方式进一步降低温度。当判断当前温度高于预设温度时,表示终端温度并没有降低到预设温度,减少第一后台进程占用该cpu的时间片,例如,第一后台进程在10分钟内原本运行20秒钟,通过减少第一后台进程占用cpu的时间片,使第一后台进程在10分钟内运行10秒钟,从而降低第一后台进程的cpu占用率,进一步减少终端发热。

步骤s270:判断所述当前温度是否高于所述预设温度。

进一步的,获取终端的当前温度,将当前温度与预设温度对比,判断当前温度是否高于预设温度。

步骤s280:当判断所述当前温度高于所述预设温度时,挂起所述第一后台进程。

当判断当前温度低于或等于预设温度时,表示终端温度已经通过减少第一后台进程占用cpu的时间片降低到预设温度,可以不再通过其他方式进一步降低温度。当判断当前温度高于预设温度时,表示终端温度并没有降低到预设温度,挂起第一后台进程,使该第一后台进程无法运行,进一步的降低第一后台进程的cpu占用率,以保证前台进程运行的情况下最大程度的降低终端温度。

本发明第二实施例提供的减少终端发热的方法通过首先获取终端的第一后台进程的运行功耗值和导致发热次数值,判断该导致发热次数值是否大于预设的次数值,然后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率,再获取终端的当前温度,判断当前温度是否高于预设温度,当判断当前温度高于预设温度时,减少第一后台进程占用cpu的时间片,最后再判断当前温度是否高于预设温度,当判断当前温度高于预设温度时,挂起第一后台进程,从而通过降低后台进程的功耗,减少后台进程的cpu占用率,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

第三实施例

请参照图4,图4示出了本发明第三实施例提供的减少终端发热的方法的流程图,下面将针对图4所示的方法进行详细的阐述,所述方法包括:

步骤s310:获取所述终端的当前温度。

在本实施例中,获取终端的当前温度,以根据当前温度判断终端是否发热,该当前温度可以根据需要进程设定,在此,不做具体的限定。

步骤s320:判断所述当前温度是否高于预设温度。

终端设置有预设温度,该预设温度为判断该终端是否发热的标准线,将获取的当前温度和预设温度进行对比,判断该当前温度是否高于预设温度。

步骤s330:当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。

当判断当前温度低于或等于预设温度时,表示终端温度处于正常状态,没有发热,当判断当前温度高于预设温度时,表示终端的温度超过预设温度,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,其中,预设条件为cpu占用率前几的进程,可以理解的,预设条件可以为cpu占用率前5的进程,可以为cpu占用率前3的进程等,在此不做具体的限定。

具体地,可获取后台进程和前台进程在预设时间内占用cpu的时间长度,将时间长度除以cpu在预设时间内的总运行时间长度,计算出后台进程和前台进程在预设时间内的cpu占用率。例如:后台进程在5分钟内,运行了10秒钟,即占用cpu的时间长度为10秒,在这5分钟内,cpu的总运行时间为40秒,则在这5分钟内的后台进程的cpu占用率为10/40*100%=25%,同理,可以得到前台进程的cpu占用率。

请参照图5,图5示出了本发明第三实施例提供的减少终端发热的方法的步骤s330的具体流程,下面将针对图5所示的流程进行阐述,所述当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,包括:

步骤s331:当判断所述当前温度高于所述预设温度时,判断导致所述当前温度高于所述预设温度的硬件。

作为一种方式,当获取的当前温度高于预设温度时,表示终端处于发热状态,判断导致终端当前温度高于预设温度的硬件,例如,判断导致终端的当前温度高于预设温度是cpu造成的还是gpu造成的,在本实施例中,采集各个温度传感器的温度值,以获取各个硬件的温度,从而判断导致终端发热的硬件是什么。

步骤s332:当判断导致所述当前温度高于所述预设温度的硬件是所述cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。

如果最终判断热源是cpu,即导致终端的当前温度高于预设温度的硬件是cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。

步骤s340:当所述前台进程的cpu占用率大于所述多个后台进程的cpu占用率时,限制所述终端的cpu的频率。

其中,当前台进程的cpu占用率大于多个后台进程的cpu占用率时,表示终端发热是由前台进程造成的,此时,限制所述终端的cpu频率,以达到降低终端温度的效果。

步骤s350:当所述多个后台进程的cpu占用率大于所述前台进程的cpu占用率时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

当多个后台进程的cpu占用率大于前台进程的cpu占用率时。表示终端的发热是由后台进程造成的,则获取终端的第一后台进程的运行功耗值和导致发热次数值。

步骤s360:判断所述导致发热次数值是否大于预设的次数值。

步骤s370:当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

本发明第三实施例提供的减少终端发热的方法通过首先获取终端的当前温度,判断当前温度是否高于预设温度,然后当判断当前温度高于预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,其中,当前台进程的cpu占用率大于多个后台进程的cpu占用率时,限制终端的cpu频率,当多个后台进程的cpu占用率大于前台进程的cpu占用率时,获取终端的第一后台进程的运行功耗值和导致发热次数值,最后判断导致发热次数值是否大于预设的次数值,当判断导致发热次数值大于预设次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据运行功耗值限制终端的cpu频率,从而通过降低后台进程的功耗,减少后台进程的cpu占用率,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

第四实施例

请参照图6,图6示出了本发明第四实施例提供的减少终端发热的方法的流程图,下面将针对图6所示的流程进行详细的阐述,所述方法包括:

步骤s410:获取所述终端的当前温度。

步骤s420:判断所述当前温度是否高于预设温度。

步骤s430:当所述当前温度高于所述预设温度时,获取所述多个后台进程消耗的平均电流。

作为本实施例的一种实施方式,当获取的当前温度高于预设温度时,表示终端处于发热状态,如果前台进程的cpu占用率和后台进程的cpu占用率相差不大,此时获取多个后台进程的平均电流。其中,通过扣除屏的功耗后,根据前台进程和后台进程占用cpu时间、gpu时间以及这段时间内cpu和gpu的平均频率等相关信息,计算前台进程消耗的平均电流和后台进程消耗的平均电流。

步骤s440:当所述后台进程消耗的平均电流大于所述多个后台进程的电流最大阈值时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

作为一种方式,当后台进程第一次导致终端发热时,将后台进程消耗的平均电流和系统中保存的所有后台进程不能超过的电流的最大阈值作比较,如果超过该最大阈值,认为是后台进程导致的发热,同时,以该进程的包名为关键字,添加该进程作为后台进程的最大平均电流,平均电流算法会将这次导致发热的平均电流和系统中保存的所有后台进程不能超过的电流的最大阈值按不同的比例求得一个值,比如:平均值。将当后台进程第二次导致发热时,将后台进程的平均电流和之前保存的后台进程的最大电流值作比较,如果超过则认为是后台进程呆滞发热,依次类推更新后台进程允许超过的最大电流值。当后台进程消耗的平均电流大于多个后台进程的最大阈值时,获取终端的第一后台进程的运行功耗值和导致发热次数值。

步骤s450:判断所述导致发热次数值是否大于预设的次数值。

步骤s460:当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

本发明第四实施例提供的减少终端发热的方法通过首先获取终端的当前温度,判断当前温度是否高于预设温度,当判断当前温度高于预设温度时,获取多个后台进程消耗的平均电流,然后当多个后台进程消耗的平均电流大于多个后台进程的电流最大阈值时,获取终端的第一后台进程的运行功耗值和导致发热次数值,最后判断导致发热次数值是否大于预设次数值,当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据运行功耗值限制终端的cpu的频率,从而通过降低后台进程的功耗,减少后台进程的cpu占用率,减少终端的发热和对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

第五实施例

请参照图7,图7示出了本发明第五实施例提供的减少发热的装置200的结构框图,所述减少终端发热的装置200包括:信息获取模块210、此数值判断模块220以及第一控制模块230,其中:信息获取模块210,用于获取所述终端的第一后台进程的运行功耗值和导致发热次数值。次数值判断模块220,用于判断所述导致发热次数值是否大于预设的次数值。第一控制模块230,用于当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。第二控制模块240,用于当获取到所述第一后台进程切换为前台进程时,取消掉之前对所述第一后台进程的所有限制。在本实施例中,该装置还包括温度判断模块,还用于当检测到所述终端处于灭屏状态时,判断所述当前温度是否高于所述预设温度。进程杀掉模块,用于当判断所述当前温度高于所述预设温度时,杀掉所述第一后台进程。

本实施例对减少终端发热的装置200的各步骤的详细阐述过程,请参见上述图1至图6所示的实施例中描述的内容,此处不再赘述。

第六实施例

请按照图8,图8示出了本发明第六实施例提供的减少终端发热的装置300的结构框图,所述减少终端发热的装置300包括:信息获取模块310、次数值判断模块320、第一控制模块330、温度获取模块340、温度判断模块350,时间片控制模块360以及进程挂起模块370,其中:信息获取模块310,用于获取所述终端的第一后台进程的运行功耗值和导致发热次数值。次数值判断模块320,用于判断所述导致发热次数值是否大于预设的次数值。第一控制模块330,用于当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。温度获取模块340,用于获取所述终端的当前温度。温度判断模块350,用于判断所述当前温度是否高于预设温度。时间片控制模块360,用于当判断所述当前温度高于所述预设温度时,减少所述第一后台进程占用所述cpu的时间片。温度判断模块350,用于判断所述当前温度是否高于所述预设温度。进程挂起模块370,用于当判断所述当前温度高于所述预设温度时,挂起所述第一后台进程。

本实施例对减少终端发热的装置300的各步骤的详细阐述过程,请参见上述图1至图6所示的实施例中描述的内容,此处不再赘述。

第七实施例

请参照图9,图9示出了本发明第七实施例提供的减少终端发热的装置400的结构框图,所述减少终端发热的装置400包括:温度获取模块410、温度判断模块420、cpu占用率获取模块430、第一cpu占用率判断模块440、第二cpu占用率判断模块450、次数值判断模块460以及第一控制模块470。温度获取模块410,用于获取所述终端的当前温度。温度判断模块420,用于判断所述当前温度是否高于预设温度。cpu占用率获取模块430,用于当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。其中,所述cpu占用率获取模块430包括:硬件判断子模块432,用于当判断所述当前温度高于所述预设温度时,判断导致所述当前温度高于所述预设温度的硬件;cpu占用率获取子模块434,用于当判断导致所述当前温度高于所述预设温度的硬件是所述cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。第一cpu占用率判断模块440,用于当所述前台进程的cpu占用率大于所述多个后台进程的cpu占用率时,限制所述终端的cpu的频率。第二cpu占用率判断模块450,用于当所述多个后台进程的cpu占用率大于所述前台进程的cpu占用率时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。次数值判断模块460,用于判断所述导致发热次数值是否大于预设的次数值。第一控制模块470,用于当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

本实施例对减少终端发热的装置400的各步骤的详细阐述过程,请参见上述图1至图6所示的实施例中描述的内容,此处不再赘述。

第八实施例

请参照图10,图10示出了本发明第八实施例提供的减少终端发热的装置500的结构框图,所述减少终端发热的装置500包括:温度获取模块510,用于获取终端的当前温度。温度判断模块520,用于判断所述当前温度是否高于预设温度。平均电流获取模块530,用于当所述当前温度高于所述预设温度时,获取所述多个后台进程消耗的平均电流。平均电流比较模块540,用于当所述后台进程消耗的平均电流大于所述多个后台进程的电流最大阈值时,执行所述获取所述终端第一后台进程的运行功耗值和导致发热次数值。次数值判断模块550,用于判断所述导致发热次数值是否大于预设的次数值。第一控制模块560,用于当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

本实施例对减少终端发热的装置500的各步骤的详细阐述过程,请参见上述图1至图6所示的实施例中描述的内容,此处不再赘述。

综上所述,本发明实施例提供了一种减少终端发热的方法、装置、移动终端及存储介质,首选通过获取终端的第一后台进程的运行功耗值和导致发热次数值,然后判断该导致发热次数值是否大于预设的次数值,最后当判断导致发热次数值大于预设的次数值时,将第一后台进程放置在终端的cpu的小核上运行,并根据该运行功耗值限制终端的cpu频率。本发明提供的减少终端发热的方法、装置、移动终端及存储介质通过降低后台进程的功耗,解决终端发热的问题,减少对终端性能的影响,同时降低了终端的耗电量,增加终端的续航能力。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

图11示出了可以实现根据本发明的减少终端发热的方法的计算设备。该计算设备传统上包括处理器610和以存储设备620形式的计算机程序产品或者计算机可读介质。存储设备620可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储设备620具有存储用于执行上述方法中的任何方法步骤的程序代码631的存储空间630。例如,存储程序代码的存储空间630可以包括分别用于实现上面的方法中的各种步骤的各个程序代码631。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘、紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图12所示的便携式或者固定存储单元。该存储单元可以具有与图11的计算设备中的存储设备620类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码631',即可以由诸如610之类的处理器读取的代码,当这些代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。

以上对本发明所提供的一种移动终端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

本发明实施例还揭示了以下内容:

a1、一种减少终端发热的方法,其中,所述方法包括:获取所述终端的第一后台进程的运行功耗值和导致发热次数值;判断所述导致发热次数值是否大于预设的次数值;当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

a2、根据a1所述方法,其中,所述方法还包括:获取所述终端的当前温度;判断所述当前温度是否高于预设温度;当判断所述当前温度高于所述预设温度时,减少所述第一后台进程占用所述cpu的时间片。

a3、根据a2所述的方法,其中,当判断所述当前温度高于所述预设温度时,减少所述第一后台进程占用所述cpu的时间片之后,还包括:判断所述当前温度是否高于所述预设温度;当判断所述当前温度高于所述预设温度时,挂起所述第一后台进程。

a4、根据a1所述的方法,其中,所述当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率之后,还包括:当检测到所述终端处于灭屏状态时,判断所述当前温度是否高于所述预设温度;当判断所述当前温度高于所述预设温度时,杀掉所述第一后台进程。

a5、根据a1所述的方法,其中,获取所述终端的第一后台进程的运行功耗值和导致发热次数值之前,还包括:判断所述当前温度是否高于预设温度;当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率;当所述前台进程的cpu占用率大于所述多个后台进程的cpu占用率时,限制所述终端的cpu的频率;当所述多个后台进程的cpu占用率大于所述前台进程的cpu占用率时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

a6、根据a5所述的方法,其中,所述当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率,包括:当判断所述当前温度高于所述预设温度时,判断导致所述当前温度高于所述预设温度的硬件;当判断导致所述当前温度高于所述预设温度的硬件是所述cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。

a7、根据a1所述的方法,其中,所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值之前,还包括:判断所述当前温度是否高于预设温度;当所述当前温度高于所述预设温度时,获取所述多个后台进程消耗的平均电流;当所述后台进程消耗的平均电流大于所述多个后台进程的电流最大阈值时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

a8、根据a1所述的方法,其中,所述当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率之后,还包括:当获取到所述第一后台进程切换为前台进程时,取消掉之前对所述第一后台进程的所有限制。

b9、一种减少终端发热的装置,其中,所述装置包括:信息获取模块,用于获取所述终端的第一后台进程的运行功耗值和导致发热次数值;次数值判断模块,用于判断所述导致发热次数值是否大于预设的次数值;第一控制模块,用于当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

b10、根据b9所述的装置,其中,所述装置还包括:温度获取模块,用于获取所述终端的当前温度;温度判断模块,用于判断所述当前温度是否高于预设温度;时间片控制模块,用于当判断所述当前温度高于所述预设温度时,减少所述第一后台进程占用所述cpu的时间片。

b11、根据b10所述的装置,其中,所述装置还包括:温度判断模块,还用于判断所述当前温度是否高于所述预设温度;进程挂起模块,用于当判断所述当前温度高于所述预设温度时,挂起所述第一后台进程。

b12、根据b9所述的装置,其中,所述装置还包括:温度判断模块,还用于当检测到所述终端处于灭屏状态时,判断所述当前温度是否高于所述预设温度;进程杀掉模块,用于当判断所述当前温度高于所述预设温度时,杀掉所述第一后台进程。

b13、根据b9所述的装置,其中,所述装置还包括:温度判断模块,还用于判断所述当前温度是否高于预设温度;cpu占用率获取模块,用于当判断所述当前温度高于所述预设温度时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率;第一cpu占用率判断模块,用于当所述前台进程的cpu占用率大于所述多个后台进程的cpu占用率时,限制所述终端的cpu的频率;第二cpu占用率判断模块,用于当所述多个后台进程的cpu占用率大于所述前台进程的cpu占用率时,执行所述获取所述终端的第一后台进程的运行功耗值和导致发热次数值。

b14、根据b13所述的装置,其中,所述cpu占用率获取模块包括:

硬件判断子模块,用于当判断所述当前温度高于所述预设温度时,判断导致所述当前温度高于所述预设温度的硬件;cpu占用率获取子模块,用于当判断导致所述当前温度高于所述预设温度的硬件是所述cpu时,获取cpu占用率满足预设条件的多个后台进程的cpu占用率和前台进程的cpu占用率。

b15、根据b9所述的装置,其中,所述装置还包括:温度判断模块,还用于判断所述当前温度是否高于预设温度;平均电流获取模块,用于当所述当前温度高于所述预设温度时,获取所述多个后台进程消耗的平均电流;平均电流比较模块,用于当所述后台进程消耗的平均电流大于所述多个后台进程的电流最大阈值时,执行所述获取所述终端第一后台进程的运行功耗值和导致发热次数值。

b16、根据b9所述的装置,其中,所述装置还包括:第二控制模块,用于当获取到所述第一后台进程切换为前台进程时,取消掉之前对所述第一后台进程的所有限制。

c17、一种移动终端,其中,所述移动终端包括处理器以及存储器,所述存储器耦接到所述处理器,所述存储器用于存储执行a1-a8任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

d18、一种存储介质,其中,所述存储介质包括存储的程序,其中,所述程序运行时执行如下操作:获取终端的第一后台进程的运行功耗值和导致发热次数值;判断所述导致发热次数值是否大于预设的次数值;当判断所述导致发热次数值大于所述预设的次数值时,将所述第一后台进程放置在所述终端的cpu的小核上运行,并根据所述运行功耗值限制所述终端的cpu的频率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1