CN111078376A - 一种进程管理方法及设备 - Google Patents
一种进程管理方法及设备 Download PDFInfo
- Publication number
- CN111078376A CN111078376A CN201911070854.6A CN201911070854A CN111078376A CN 111078376 A CN111078376 A CN 111078376A CN 201911070854 A CN201911070854 A CN 201911070854A CN 111078376 A CN111078376 A CN 111078376A
- Authority
- CN
- China
- Prior art keywords
- mutual exclusion
- electronic device
- application program
- application
- killing
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了一种进程管理方法及设备,涉及人工智能领域。该方法包括:电子设备启动第一应用程序;电子设备根据第一应用程序的信息查询互斥图谱,按照与第一应用程序的互斥度从高到低的顺序,获取一个或多个第二应用程序;电子设备对一个或多个第二应用程序中的一个应用程序执行杀进程操作。其中,互斥图谱可以是通过机器学习获取的知识图谱。由于应用程序间的互斥度体现了用户的行为特征,基于互斥度预测出被调用概率较低的进程,对其进行杀进程操作的方法,可以提高杀进程的准确率。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种进程管理方法及设备。
背景技术
随着终端技术的发展,应用在终端上的应用程序(application,App)的种类和数量也急剧增长。并且,各个App为提升自身性能,大量占据终端的内存资源;例如一些手机的“相机”App占用的内存达到GB量级,一些大型游戏App则占用更多内存。终端的内存空间显然无法承载如此庞大的需求。
为缓解内存压力,研究人员尝试各种技术方案,以实现内存空间的有效利用。其中一项重要技术方案为,对占用内存的一些App执行杀进程操作,以释放更多内存空间给需要的App。
一个App的进程被杀,则用户的使用记录一般是不保存的。并且,该App被再次启动时,是冷启动过程。冷启动过程的启动速度较慢,且高概率重载界面广告。对一个App执行杀进程操作,对用户的使用体验影响较大。因而,在杀进程时,对占用内存的哪一个或哪些App执行杀进程操作,可以更及时的释放内存空间,提升系统整体性能;并且尽量避免误杀和过杀,影响用户使用体验,是本领域的一个重要课题。
发明内容
本申请实施例提供一种进程管理方法及设备,可以更及时、更准确的杀进程,降低误杀几率,提升系统整体性能。
第一方面,本申请实施例提供一种进程管理方法。该方法可以包括:电子设备启动第一应用程序;电子设备根据该第一应用程序的信息查询互斥图谱,按照与第一应用程序的互斥度从高到低的顺序,获取一个或多个第二应用程序;电子设备对一个或多个第二应用程序中的一个应用程序执行杀进程操作。其中,互斥图谱包括多个应用程序的信息,以及每两个应用程序间的互斥度;第二应用程序对于第一应用程序的互斥度为在第一应用程序的进程被系统调用至前台后,第二应用程序不被系统下一个调用至前台的概率。
该方法中,在执行杀进程操作时,根据各个App与当前运行的App的互斥度,来确定杀进程操作的目标进程。由于App间的互斥度体现了用户使用App的行为特征,基于App间的互斥度预测出被调用概率较低的进程,对其进行杀进程操作的方法,可以提高杀进程的准确率。
结合第一方面,在一种可能的设计方式中,在电子设备对一个或多个第二应用程序中的一个应用程序执行杀进程操作之前,电子设备确定电子设备的剩余可用内存不足。这样,被调用概率较低的进程,在电子设备的内存不足时,得到快速判定,立即被执行杀进程操作;杀进程操作更及时,提升了内存释放效率。
结合第一方面,在一种可能的设计方式中,互斥图谱是根据一段时间内多个应用程序启动的顺序获得的。也就是说,互斥图谱是根据用户使用应用程序的行为分析获得的,可以体现用户使用App的行为特征。
结合第一方面,在一种可能的设计方式中,每隔预设时长,根据一段时间内多个应用程序启动的顺序,对互斥图谱进行更新。
结合第一方面,在一种可能的设计方式中,如果第三应用程序从电子设备卸载,在互斥图谱中删除该第三应用程序的信息,以及第三应用程序与其他应用程序间的互斥度。
结合第一方面,在一种可能的设计方式中,如果新增第四应用程序,则在互斥图谱中增加第四应用程序的信息,以及第四应用程序与其他应用程序间的互斥度。在一种设计中,增加的第四应用程序与其他应用程序间的互斥度为默认值。在另一种设计中,增加的第四应用程序与其他应用程序间的互斥度为从服务器获取的。
结合第一方面,在一种可能的设计方式中,互斥图谱包括第一场景对应的第一互斥图谱和第二场景对应的第二互斥图谱,电子设备确定当前处于第一场景,则根据第一应用程序的信息查询第一互斥图谱;电子设备确定当前处于第二场景,根据第一应用程序的信息查询第二互斥图谱。这样,可以更准确的划分各个应用程序间的互斥度。
结合第一方面,在一种可能的设计方式中,电子设备对一个或多个第二应用程序中,与第一应用程序的互斥度最高的一个应用程序执行杀进程操作。
结合第一方面,在一种可能的设计方式中,电子设备根据一个或多个第二应用程序的进程未被系统调用至前台的时长,对一个或多个第二应用程序中的一个应用程序执行杀进程操作。
结合第一方面,在一种可能的设计方式中,电子设备根据一个或多个第二应用程序的进程占用系统内存的大小,对一个或多个第二应用程序中的一个应用程序执行杀进程操作。
结合第一方面,在一种可能的设计方式中,电子设备对一个或多个第二应用程序中不属于杀进程白名单的一个应用程序执行杀进程操作。
第二方面,本申请实施例提供一种电子设备,该电子设备可以实现第一方面所述的进程管理方法,其可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。在一种可能的设计中,该电子设备可以包括处理器和存储器。该处理器被配置为支持该电子设备执行上述第一方面方法中相应的功能。存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。
第三方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如上述任一方面及其可能的设计方式所述的进程管理方法。
第四方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述任一方面及其可能的设计方式所述的进程管理方法。
第二方面所述的电子设备,第三方面所述的计算机可读存储介质以及第四方面所述的计算机程序产品所带来的技术效果可参见上述第一方面及其不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的进程管理方法所适用的一种电子设备的结构示意图;
图2为本申请实施例提供的一种进程管理方法的流程示意图一;
图3为本申请实施例提供的一种进程管理方法的流程示意图二;
图4为本申请实施例提供的一种进程管理方法的流程示意图三;
图5为本申请实施例提供的一种进程管理方法的示意图;
图6为本申请实施例提供的一种进程管理方法的流程示意图四;
图7为本申请实施例提供的一种电子设备的结构组成示意图。
具体实施方式
App进程在终端上运行时,会占用系统内存。如果系统内存被占用达到一定程度,比如系统内存被占用超过一定比例,或者系统内存占用量达到一个阈值,通常会启动杀进程操作,以释放系统内存。杀进程即在系统内存中清除进程,将进程强制退出运行。
在一种实现方式中,可以基于内存水线触发杀进程操作。内存水线用于表征终端的系统内存中剩余的可用内存。内存水线越低,表明剩余的可用系统内存越少。如果终端的可用系统内存低于内存水线,则触发杀进程操作。
在杀进程时,可以根据预设的策略确定杀哪一个或哪些进程。
在一种实现方式中,可以基于时间维度来确定进程在一段时间内不被调用的概率;进程在一段时间内不被调用的概率越高,则被杀的概率越高。在一种示例中,每个进程对应一个判定值,判定值越高,在杀进程时,该进程被杀的概率越高。进程的判定值与该进程被调用的次序相关;进程越长时间未被调用,则该进程的判定值越高。
在该实现方式中,需要较长的时间才能判定进程被杀。如果仅基于时间维度来确定进程被杀的概率,则很多不再被使用的App的进程可能得不到快速判定,导致执行杀进程操作的时机较晚,影响内存资源的有效回收以及系统的整体性能。
在另一种实现方式中,还可以基于App间的亲和度来确定进程被杀的概率。App间的亲和度即App间的关联程度,比如,App1和App2亲和度较高,表示如果App1在系统中运行,则App2在一段时间内被系统调用的概率较高。在一个App的进程被系统调用后的一段时间内,与该App亲和度较高的App的进程被杀的概率较低。在一种示例中,确定App1和App2亲和度较高;如果确定App1在系统中运行,则将App2的进程加入不被杀的名单。在执行杀进程操作时,该名单中的进程不被杀。
该实现方式可以一定程度上降低进程被误杀的几率。然而,对于不被杀的名单之外的进程,还是存在误杀和杀进程操作不及时的风险。
本申请实施例提供一种进程管理方法,可以基于App间的互斥度预测出被调用概率较低的进程,对其进行杀进程操作。App间的互斥度,即App间的互斥程度。当App1的进程被系统调用至前台后,App2的进程不被系统下一个调用至前台的概率,即App2与App1间的互斥度。基于App间的互斥度来确定进程被杀的概率,可以更及时、更准确的杀进程,降低误杀几率;既释放系统内存,又不因误杀影响用户体验。
本申请实施例提供的进程管理方法,可以应用于终端设备(比如手机)、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴设备(如智能手表、智能眼镜或者智能头盔等)、增强现实(augmented reality,AR)\虚拟现实(virtualreality,VR)设备、智能家居设备、车载电脑等电子设备中,本申请实施例对此不做任何限制。
以手机100为上述电子设备举例,图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可以包括距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机100的神经中枢和指挥中心,是指挥手机100的各个部件按照指令协调工作的决策者。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
应用处理器上可以安装有手机100的操作系统,用于管理手机100的硬件与软件资源。比如,管理与配置内存、决定系统资源供需的优先次序、管理文件系统、管理驱动程序等。操作系统也可以用于提供一个让用户与系统交互的操作界面。其中,操作系统内可以安装各类软件,比如,驱动程序,应用程序(application,App)等。示例性的,手机100的操作系统可以是Android系统,Linux系统等。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。手机100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当手机100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。手机100可以设置至少一个麦克风170C。在另一些实施例中,手机100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。手机100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机100中,不能和手机100分离。
下面结合附图,以手机作为电子设备为例,对本申请实施例提供的进程管理方法进行详细介绍。
通常来说,用户在不同场景下,使用App的倾向不同。比如,某用户在固定场所倾向打游戏、看视频,即倾向使用游戏类和视频播放类的App。而当其出行时,则倾向于使用打车软件类和地图类的App。对该用户而言,打车软件类App和游戏类App极少出现来回切换的情况。也就是说,App被用户使用的情况存在一定程度的互斥关系;即手机上的App的进程间,在被系统调用时,存在互斥关系。本申请实施例中,用App间的互斥度,来表征App间的互斥关系。当App1的进程被系统调用至前台后,App2的进程不被系统下一个调用至前台的概率,即App2对于App1的互斥度。比如,用户使用打车应用程序1后,下一个打开游戏应用程序1的概率为2%,则游戏应用程序1对于打车应用程序1的互斥度为98%(即1-2%)。App1与App2间的互斥度可以包括:App2对于App1的互斥度;或者,App1对于App2的互斥度;或者,App2对于App1的互斥度,以及App1对于App2的互斥度。
在一些实施例中,用互斥图谱表征各个App间的互斥度。互斥图谱可以包括手机上安装的每个应用程序的信息,以及每个应用程序与其他应用程序间的互斥度。在一种示例中,将一个App的信息传入互斥图谱,则可以按照与该App的互斥度从高到低的顺序,获取到一个或多个App的信息;其中,App的信息可以是App的名称、App的进程的进程标识(processID)等。
在一种实现方式中,互斥图谱由多个节点和节点之间的连线组成。其中,每个节点对应一个App;节点之间的连线表示App间的互斥权重,比如,节点i和节点j之间的连线表示节点i对应的Appi和节点j对应的Appj的互斥权重;Appi和Appj的互斥权重,表征了节点i对应的Appi被系统调用后,节点j对应的Appj不会被系统下一个调用的概率。
可以通过机器学习的方法,基于模型训练,获得互斥图谱中各个节点以及节点之间的互斥权重,即获得了互斥图谱。其中,机器学习算法模型可以采用马尔可夫模型、贝叶斯模型、随机森林模型等常规技术中的算法模型,本申请实施例对此不作任何限定。
下面以马尔可夫模型为例,对互斥图谱的模型训练过程进行简单介绍。
基于马尔可夫模型进行模型训练,即基于马尔可夫模型迭代计算,获得互斥图谱中各个节点以及节点之间的互斥权重。
在马尔可夫模型中,“状态”是一个重要因子。“状态”是指某一事件在某个时刻出现的某种结果,以及发生这种结果的概率。互斥图谱的模型训练中,一个App启动对应一个事件,并对应一个“状态”;当发生App切换(另一个App启动),模型认为“状态”发生了转移。根据条件概率的定义,由“状态”Ei转移到“状态”Ej的状态转移概率P(Ei->Ej)=P(Ej/Ei)=Pij,当马尔可夫模型有n个节点(共n个App),即对应E1,E2,…,Ei,Ej,…,En,共n个“状态”;对应的状态转换构成概率矩阵:
处于Ei“状态”时,状态转移至E1,E2,…,En的概率分别为Pi1,Pi2,…,Pin;即Appi被启动后,下一次被启动的App为App1,App2,…,Appn的概率分别为Pi1,Pi2,…,Pin。其中,Pij满足条件:(1)0<=Pij<=1,(2)Pi1+Pi2+…Pij+…+Pin=1,(i,j=1,2,…,n)。
Pij表示Appi被启动后,下一次被启动的App为Appj的概率;相应的,Appi被启动后,Appj不被启动的概率为(1-Pij);相应的,Appi和Appj间的互斥权重Wij=(1-Pij)/(Ni-1),其中,Ni表示与节点i直接连接的节点个数。
在模型训练阶段,将n个App启动的顺序作为输入,经马尔科夫模型完成状态转移概率的迭代计算,并进一步转换为互斥图谱中互斥权重Wij。例如:手机前台运行的App从游戏应用程序1切换到打车应用程序1,则互斥图谱中游戏应用程序1对应节点与其他各个节点的互斥权重都将随之更新。在一种示例中,在模型训练阶段未被启动的App与其他App的互斥权重可以设置为一个较小的值,比如0;也就是说,默认未被启动的App与其他App的互斥度较低。
这样,基于马尔可夫模型,经过模型训练后,就可以获得互斥图谱中各个节点以及节点之间的互斥权重,即获得了互斥图谱。
在一种实现方式中,可以在手机上生成、更新和保存互斥图谱。
在一种示例中,以手机上安装的App在一段时间内的启动顺序作为训练样本,输入马尔科夫模型,进行模型训练,则可以获取到手机上安装的多个App的互斥图谱。
进一步的,还可以对手机上保存的互斥图谱进行更新。
比如,每隔预设时长(例如10天),以在一段时间内,手机上多个App的启动顺序作为样本,输入训练好的马尔科夫模型,对训练好的马尔科夫模型进行更新,则获取到更新后的互斥图谱。
比如,如果手机上新安装了一个App,则在互斥图谱中对应增加一个节点。在一种可能的示例中,该节点与其他节点的互斥权重为默认值,比如0。在一种可能的示例中,服务器保存了多个App间的互斥度,手机上新安装一个App,则从服务器获取该App与其他App的互斥度。其中,服务器保存的多个App间的互斥度,可以是基于大数据(一段时间内,多个电子设备上的多个App启动顺序的数据),通过机器学习获得的。
比如,如果App从手机卸载,则在互斥图谱中删除该App对应的节点。
上述生成、更新和保存互斥图谱的过程,可以是通过人工智能分析多个App的启动顺序数据等记录学习获取的。
在另一种实现方式中,可以在服务器上生成、更新和保存互斥图谱。
在一种示例中,在服务器上,基于大数据(一段时间内,多个电子设备上的多个App启动顺序的数据)作为训练样本,输入马尔科夫模型,进行模型训练,则可以获取到多个App的互斥图谱。
进一步的,还可以对服务器上保存的互斥图谱进行更新。比如,每隔预设时长(例如10天),以在一段时间内,一个或多个电子设备上的多个App启动顺序作为样本,输入训练好的马尔科夫模型,对训练好的马尔科夫模型进行更新,则获取到更新后的互斥图谱。
在另一种实现方式中,手机上保存的互斥图谱可以上传至服务器。服务器保存各个手机上传的互斥图谱。在一种示例中,手机上传的互斥图谱与该手机的用户相关联。比如,当手机上安装一个App,或者该用户更换手机,新手机激活时,可以从服务器下载该用户对应的互斥图谱。
在另一些实施例中,用互斥名单表征各个App间的互斥度。该互斥名单中包括多个App的信息以及各个App间的互斥度;其中,App的信息可以是App的名称、App的进程的进程标识(processID)等。
示例性的,互斥名单如表1所示。其中包括了多个App的名称,以及各个App间的互斥度。比如,出行App1和视频App1间的互斥度为0.75,游戏App1和视频App1间的互斥度为0.52等。
表1
视频App1 | … | 词典App1 | |
出行App1 | 0.75 | … | 0.17 |
地图App1 | 0.78 | … | 0.22 |
… | … | … | … |
游戏App1 | 0.52 | … | 0.14 |
可选的,该互斥名单可以是根据手机上安装的App在一段时间内启动的历史数据获得的。可选的,该互斥名单可以是根据服务器上的大数据(多个电子设备上的多个App启动顺序的数据)获得的。该互斥名单可以在手机上保存和维护;也可以在服务器上保存和维护;本申请实施例对此并不进行任何限定。可选的,手机上保存的互斥名单可以上传至服务器。服务器保存各个手机上传的互斥名单。在一种示例中,手机上传的互斥名单与该手机的用户相关联。比如,当手机上安装一个App,或者该用户更换手机,新手机激活时,可以从服务器下载该用户对应的互斥名单。
可选的,每隔一段预设时长,可以根据一段时间内App启动顺序的数据对互斥名单进行更新。
可选的,如果手机上新安装了一个App,则在互斥名单中对应增加该App的信息以及该App与其他App的互斥度。在一种可能的示例中,该App与其他App的互斥度为默认值,比如0。在一种可能的示例中,服务器保存了多个App间的互斥度,手机上新安装一个App,则从服务器获取该App与其他App的互斥度。其中,服务器保存的多个App间的互斥度,可以是基于大数据(一段时间内,多个电子设备上的多个App启动顺序的数据),通过机器学习获得的。
可选的,如果App从手机卸载,则在互斥名单中删除该App对应的互斥度信息。
在一些实施例中,当手机上新安装一个App,或者服务器上新增一个App的信息时,互斥图谱或互斥名单中增加其他App对于新增App的互斥度,以及新增App对于其他App的互斥度。比如,互斥图谱或互斥名单中包括App1、App2和App3的信息,以及App1与App2间的互斥度,App1与App3间的互斥度,App2与App3间的互斥度;新增一个App4;则互斥图谱或互斥名单中新增App4的信息,以及App4与App1间的互斥度(包括App4对于App1的互斥度和App1对于App4的互斥度),App4与App2间的互斥度(包括App4对于App2的互斥度和App2对于App4的互斥度),App4与App3间的互斥度(包括App4对于App3的互斥度和App3对于App4的互斥度)。
需要说明的是,除了上述互斥图谱和互斥名单,还可以用别的形式来表征和记录各个App间的互斥度。比如,互斥记录、互斥信息等;该互斥记录或互斥信息中包括多个App的信息以及每两个App间的互斥度。
在一些实施例中,可以区分不同的场景分别记录App间的互斥度。示例性的,区分白天和夜间分别记录各个App间的互斥度,形成白天对应的第一互斥图谱和夜间对应的第二互斥图谱;示例性的,区分周内和周末分别记录各个App间的互斥度,形成周内对应的第一互斥图谱和周末对应的第二互斥图谱;示例性的,区分上班时段和休息时段分别记录各个App间的互斥度,形成上班时段对应的第一互斥图谱和休息时段对应的第二互斥图谱。由于在不同的场景下,用户使用App的行为特征可能不同。区分不同的场景分别记录App间的互斥度,可以更准确的体现用户的行为特征。
本申请实施例提供的进程管理方法中,将App间的互斥度作为杀进程时的判断条件之一。这样,可以基于App间的互斥度预测出被调用概率较低的进程,对其进行杀进程操作,以提高杀进程的准确率。如图2所示,该方法可以包括:
S201、电子设备确定满足杀进程触发条件。
在一种实现方式中,杀进程触发条件为电子设备的剩余可用内存不足。比如,用内存水线表征电子设备的系统内存中剩余的可用内存;内存水线越低,表明剩余的可用系统内存越少。如果确定电子设备的可用系统内存低于内存水线,则确定电子设备的内存不足,即确定满足杀进程触发条件。
在另一种实现方式中,杀进程触发条件为一个App被启动。
电子设备确定满足杀进程触发条件,则可以进一步确定杀进程的目标进程,即确定杀哪一个或哪些进程。
S202、电子设备根据App间的互斥度确定杀进程的目标进程。
如图3所示,电子设备根据App间的互斥度确定杀进程的目标进程的方法可以包括S2021-S2023:
S2021、电子设备确定第一App。
在一种示例中,杀进程触发条件为电子设备的内存不足,则第一App为电子设备的内存不足时,最近切换至前台运行的App。在另一种示例中,杀进程触发条件为一个App被启动,则第一App为该被启动的App。
S2022、电子设备根据第一App的信息查询互斥图谱或互斥名单,获取与第一App的互斥度最高的Q(Q>=0)个App的信息。
其中,App的信息可以是App的名称、App的进程的进程标识(processID)等。
在一种实现方式中,互斥图谱或互斥名单保存在电子设备上,则电子设备可以直接查询保存的互斥图谱或互斥名单,获取与第一App的互斥度最高的Q个App的信息。
在另一种实现方式中,互斥图谱或互斥名单保存在服务器上,电子设备可以从服务器获取与第一App的互斥度最高的Q个App的信息。比如,电子设备向服务器发送第一消息,用于请求获取与第一App的互斥度最高的Q个App的信息,第一消息中包括第一App的信息(比如,第一App的名称)。服务器接收到第一消息后,根据第一App的信息查询互斥图谱或互斥名单,获取与第一App的互斥度最高的Q(Q>=0)个App的信息,并将该Q(Q>=0)个App的信息发送给电子设备,则电子设备获取到与第一App的互斥度最高的Q(Q>=0)个App的信息。
在另一种实现方式中,互斥图谱或互斥名单保存在服务器上,电子设备可以从服务器获取互斥图谱或互斥名单,并查询获取到的互斥图谱或互斥名单,获取与第一App的互斥度最高的Q个App的信息。比如,电子设备向服务器发送第二消息,用于请求获取互斥图谱或互斥名单。服务器接收到第二消息后,将互斥图谱或互斥名单发送给电子设备,则电子设备获取到互斥图谱或互斥名单。
可选的,可以设置一个互斥度阈值,电子设备根据第一App查询互斥图谱或互斥名单,获取与第一App的互斥度大于互斥度阈值的App中,与第一App的互斥度最高的Q(Q>=0)个App的信息。如果互斥图谱或互斥名单中所有App与第一App的互斥度都小于或等于互斥度阈值,则Q=0。
可选的,当区分不同的场景分别记录各个App间的互斥度时。如图4所示,上述S2022可以包括S20221-S20222:
S20221、电子设备确定当前处于的场景。
比如,电子设备处于的场景包括第一场景白天和第二场景夜间,第一场景对应第一互斥图谱,第二场景对应第二互斥图谱。电子设备根据当前时间确定其当前处于的场景。
需要说明的是,本申请实施例以区分第一场景和第二场景分别记录各个App间的互斥度为例进行说明,在实际使用中,电子设备处于的场景还可以包括第三场景、第四场景、第五场景等;本申请实施例对于场景的个数并不进行限定。
S20222、电子设备根据第一App的信息和当前处于的场景查询对应的互斥图谱或互斥名单,获取与第一App的互斥度最高的Q(Q>=0)个App的信息。
比如,电子设备确定当前处于第一场景,则根据第一App的信息查询第一场景对应的第一互斥图谱,获取与第一App的互斥度最高的Q(Q>=0)个App的信息。比如,电子设备确定当前处于第二场景,则根据第一App的信息查询第二场景对应的第二互斥图谱,获取与第一App的互斥度最高的Q(Q>=0)个App的信息。
其中,电子设备根据第一App的信息查询对应的互斥图谱的过程可以参考上述S2022中的相关描述,此处不再赘述。
S2023、电子设备将Q个App中的一个App的进程确定为目标进程。
在一种实现方式中,如果Q>0,电子设备根据预设策略,将Q个App中的一个App的进程确定为目标进程。
请参考图5:
在一种示例中,预设策略包括,将Q个App中与第一App互斥度最高的一个App的进程确定为目标进程。
在另一种示例中,预设策略包括,将Q个App中判定值最高的进程确定为目标进程。其中,进程的判定值表征该进程未被系统调用的时长,进程越长时间未被调用,则该进程的判定值越高。
在另一种示例中,预设策略包括,将Q个App中占用系统内存最大的进程确定为目标进程。
在一些示例中,结合上述各种示例,预设策略还包括,将Q个App中,不属于杀进程白名单的App中的一个App的进程确定为目标进程。比如,可以将Q个App中,不属于杀进程白名单的App中,与第一App互斥度最高的一个App的进程确定为目标进程。比如,可以将Q个App中,不属于杀进程白名单的App中,判定值最高的进程确定为目标进程。再比如,可以将Q个App中,不属于杀进程白名单的App中,占用系统内存最大的进程确定为目标进程。其中,杀进程白名单可以是系统预设的。杀进程白名单可以包括多个App的信息,或者包括多个进程信息;在杀进程时,排除属于杀进程白名单的进程。
S203、若确定存在至少一个目标进程,执行杀进程操作。
在一种实现方式中,若确定存在至少一个目标进程,则调用系统原生接口,执行杀进程操作。
可选的,执行杀进程操作之后,还可以更新互斥名单。比如,执行杀进程操作之后,确定该被杀的进程在很短的时间内被再次启动,则更新互斥名单,减小互斥名单中该被杀的进程对应的App与第一App的互斥度。
之后,循环执行S201-S203。
本申请实施例提供的进程管理方法,在互斥图谱或互斥名单中记录各个App间的互斥度。在杀进程时,根据各个App与当前运行的App的互斥度,来确定杀进程的目标进程。由于App间的互斥度体现了用户使用App的行为特征,基于App间的互斥度预测出被调用概率较低的进程,对其进行杀进程操作的方法,可以提高杀进程的准确率。并且,在本申请实施例提供的进程管理方法中,被调用概率较低的进程,可以在电子设备的内存不足或一个App启动时,得到快速判定,立即被执行杀进程操作;杀进程操作更及时,提升了内存释放效率。
下面,以服务器保存和维护互斥图谱,手机作为电子设备为例,对本申请实施例提供的进程管理方法进行示例性介绍。
请参考图6,服务器保存和维护互斥图谱,其中包括多个App,和多个App间的互斥度。该互斥图谱是服务器基于大数据通过机器学习方法获得的。手机包括内存监控、杀进程控制器和杀进程接口等模块。其中,内存监控模块用于监测手机的内存使用情况。当内存监控模块检测到手机的可用系统内存低于内存水线,并且,手机最近切换至前台运行的App属于互斥图谱,则内存监控模块调用杀进程控制器确定杀进程的目标进程。杀进程控制器查询互斥图谱,获得各个App与手机上最近切换至前台运行的App间的互斥度,根据App间的互斥度确定杀进程的目标进程。如果杀进程控制器确定存在至少一个目标进程,则调用内核空间的杀进程接口,对目标进程执行杀进程操作。
可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备400包括:处理单元401和存储单元402。
其中,处理单元401,用于对电子设备400的动作进行控制管理。例如,可以用于执行图2中,S201、S202和S203的处理步骤;和/或用于本文所描述的技术的其它过程。
存储单元402,用于保存电子设备400的指令和数据,上述指令可以用于执行如图2及相应实施例中的各个步骤。上述数据可以包括互斥图谱、互斥名单等。
当然,上述电子设备400中的单元模块包括但不限于上述处理单元401和存储单元402。例如,电子设备400中还可以包括通信单元、电源单元等。通信单元,用于支持电子设备400与其他网络实体的通信;例如,可以用于支持电子设备400与服务器通信,查询服务器保存的互斥图谱或互斥名单等。电源单元用于对电子设备400供电。
其中,处理单元401可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元402可以是存储器。通信单元可以是收发器、收发电路等。
例如,处理单元401为处理器(如图1所示的处理器110);存储单元402可以为存储器(如图1所示的内部存储器121);通信单元可以称为通信接口,包括移动通信模块(如图1所示的移动通信模块150)和无线通信模块(如图1所示的无线通信模块160)。本申请实施例所提供的电子设备400可以为图1所示的手机100。其中,上述处理器、存储器、通信接口等可以连接在一起,例如通过总线连接。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,电子设备执行上述实施例中的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述实施例中的方法。
其中,本申请实施例提供的电子设备400、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以使用硬件的形式实现,也可以使用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种进程管理方法,其特征在于,包括:
电子设备启动第一应用程序;
所述电子设备根据所述第一应用程序的信息查询互斥图谱,按照与所述第一应用程序的互斥度从高到低的顺序,获取一个或多个第二应用程序;其中,所述互斥图谱包括多个应用程序的信息,以及每两个应用程序间的互斥度;第二应用程序对于第一应用程序的互斥度为在所述第一应用程序的进程被系统调用至前台后,所述第二应用程序不被系统下一个调用至前台的概率;
所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作之前,所述方法还包括:
所述电子设备确定所述电子设备的剩余可用内存不足。
3.根据权利要求1或2所述的方法,其特征在于,所述互斥图谱是根据一段时间内多个应用程序启动的顺序获得的。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
每隔预设时长,根据一段时间内多个应用程序启动的顺序,对所述互斥图谱进行更新。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
如果第三应用程序从所述电子设备卸载,在所述互斥图谱中删除所述第三应用程序的信息,以及所述第三应用程序与其他应用程序间的互斥度。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
如果新增第四应用程序,在所述互斥图谱中增加所述第四应用程序的信息,以及所述第四应用程序与其他应用程序间的互斥度。
7.根据权利要求6所述的方法,其特征在于,增加的所述第四应用程序与其他应用程序间的互斥度为默认值。
8.根据权利要求6所述的方法,其特征在于,增加的所述第四应用程序与其他应用程序间的互斥度为从服务器获取的。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述互斥图谱包括第一场景对应的第一互斥图谱和第二场景对应的第二互斥图谱,
所述电子设备根据所述第一应用程序的信息查询互斥图谱包括:
所述电子设备确定所述电子设备处于第一场景,根据所述第一应用程序的信息查询所述第一互斥图谱;
所述电子设备确定所述电子设备处于第二场景,根据所述第一应用程序的信息查询所述第二互斥图谱。
10.根据权利要求1-9任意一项所述的方法,其特征在于,所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作包括:
所述电子设备对所述一个或多个第二应用程序中,与所述第一应用程序的互斥度最高的一个应用程序执行杀进程操作。
11.根据权利要求1-9任意一项所述的方法,其特征在于,所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作包括:
所述电子设备根据所述一个或多个第二应用程序的进程未被系统调用至前台的时长,对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作。
12.根据权利要求1-9任意一项所述的方法,其特征在于,所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作包括:
所述电子设备根据所述一个或多个第二应用程序的进程占用系统内存的大小,对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作。
13.根据权利要求1-12任意一项所述的方法,其特征在于,所述电子设备对所述一个或多个第二应用程序中的一个应用程序执行杀进程操作包括:
所述电子设备对所述一个或多个第二应用程序中不属于杀进程白名单的一个应用程序执行杀进程操作。
14.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码;所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-13任意一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13任意一项所述的方法。
16.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-13任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911070854.6A CN111078376A (zh) | 2019-11-05 | 2019-11-05 | 一种进程管理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911070854.6A CN111078376A (zh) | 2019-11-05 | 2019-11-05 | 一种进程管理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078376A true CN111078376A (zh) | 2020-04-28 |
Family
ID=70310941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911070854.6A Withdrawn CN111078376A (zh) | 2019-11-05 | 2019-11-05 | 一种进程管理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078376A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913707A (zh) * | 2020-08-06 | 2020-11-10 | 上海连尚网络科技有限公司 | 运行进程的复用方法和装置 |
CN115016855A (zh) * | 2021-11-17 | 2022-09-06 | 荣耀终端有限公司 | 应用预加载的方法、设备和存储介质 |
CN116171568A (zh) * | 2020-08-13 | 2023-05-26 | 华为技术有限公司 | 一种调用其他设备能力的方法、电子设备和系统 |
CN116627534A (zh) * | 2021-11-19 | 2023-08-22 | 荣耀终端有限公司 | 应用程序处理方法及装置 |
-
2019
- 2019-11-05 CN CN201911070854.6A patent/CN111078376A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913707A (zh) * | 2020-08-06 | 2020-11-10 | 上海连尚网络科技有限公司 | 运行进程的复用方法和装置 |
CN111913707B (zh) * | 2020-08-06 | 2024-02-20 | 上海连尚网络科技有限公司 | 运行进程的复用方法和装置 |
CN116171568A (zh) * | 2020-08-13 | 2023-05-26 | 华为技术有限公司 | 一种调用其他设备能力的方法、电子设备和系统 |
CN115016855A (zh) * | 2021-11-17 | 2022-09-06 | 荣耀终端有限公司 | 应用预加载的方法、设备和存储介质 |
CN116627534A (zh) * | 2021-11-19 | 2023-08-22 | 荣耀终端有限公司 | 应用程序处理方法及装置 |
CN116627534B (zh) * | 2021-11-19 | 2024-04-05 | 荣耀终端有限公司 | 应用程序处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3923274A1 (en) | Voice interaction method and electronic device | |
CN112527403A (zh) | 一种应用启动方法及电子设备 | |
CN111078376A (zh) | 一种进程管理方法及设备 | |
CN111510626B (zh) | 图像合成方法及相关装置 | |
CN111742539B (zh) | 一种语音控制命令生成方法及终端 | |
CN111556479B (zh) | 信息共享方法及相关装置 | |
CN113645688B (zh) | 网络接入注册方法、装置、终端设备以及存储介质 | |
WO2022022319A1 (zh) | 一种图像处理方法、电子设备、图像处理系统及芯片系统 | |
CN113727287A (zh) | 一种短消息通知方法和电子终端设备 | |
CN113473013A (zh) | 图像美化效果的显示方法、装置和终端设备 | |
CN111343326A (zh) | 获取测试日志的方法及相关装置 | |
CN113596919B (zh) | 数据下载方法、装置和终端设备 | |
CN113660369A (zh) | 来电处理及模型训练方法、装置、终端设备和存储介质 | |
CN114079642B (zh) | 一种邮件处理方法及电子设备 | |
CN114968543A (zh) | 文件页的处理方法及相关装置 | |
CN116049535B (zh) | 信息推荐方法、装置、终端装置及存储介质 | |
CN115103304B (zh) | 位置信息的调用方法及装置 | |
CN113099528B (zh) | 服务获取方法、装置和用户设备 | |
CN113115483B (zh) | 无线资源控制连接的释放方法、装置和用户设备 | |
CN115878500A (zh) | 内存回收方法、装置、电子设备及可读存储介质 | |
CN113099734B (zh) | 天线切换方法及装置 | |
CN113672404A (zh) | 一种显示方法和电子终端设备 | |
CN113656099A (zh) | 一种应用快捷启动方法、装置和终端设备 | |
CN114116610A (zh) | 获取存储信息的方法、装置、电子设备和介质 | |
CN114971107A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200428 |