CN109254849B - 应用程序的运行方法及装置 - Google Patents

应用程序的运行方法及装置 Download PDF

Info

Publication number
CN109254849B
CN109254849B CN201811007771.8A CN201811007771A CN109254849B CN 109254849 B CN109254849 B CN 109254849B CN 201811007771 A CN201811007771 A CN 201811007771A CN 109254849 B CN109254849 B CN 109254849B
Authority
CN
China
Prior art keywords
cpu
core
application program
target application
target
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
CN201811007771.8A
Other languages
English (en)
Other versions
CN109254849A (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201811007771.8A priority Critical patent/CN109254849B/zh
Publication of CN109254849A publication Critical patent/CN109254849A/zh
Application granted granted Critical
Publication of CN109254849B publication Critical patent/CN109254849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种应用程序的运行方法及装置,属于计算机技术领域。所述方法包括:获取多核CPU的CPU大核属性信息,CPU大核为多核CPU中计算能力最强的计算单元;当检测到目标应用程序启动后,根据CPU大核属性信息,确定CPU大核运行文件;将目标应用程序的目标进程标识写入到CPU大核运行文件中,以通过CPU大核运行目标应用程序的目标进程。本公开通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。

Description

应用程序的运行方法及装置
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用程序的运行方法及装置。
背景技术
为了满足用户的使用需求,终端中安装了各种应用程序。根据操作系统不同,应用程序可分为Android系统的应用程序和IOS系统的应用程序,受限于安卓系统本身的缺陷,Android系统的应用程序的运行速度较慢,在运用过程中经常出现卡顿问题。
为了提升Android系统的应用程序的运行速度,改善用户的体验效果,对于Android 4.1及以上版本的系统,目前主要采用垂直同步的方式运行应用程序,即将显示器的刷新帧率和显卡的刷新帧率尽量保持一致,同时对于应用程序的渲染、触摸、画面构图及显示刷新等操作,采用16毫秒的循环周期,使得任何帧数都不会提前或滞后。
采用垂直同步的方式,虽然使得帧率可以有效的提升,但是Android系统的应用程序在运行过程中依旧存在卡顿问题,因此,亟需一种新的应用程序的运行方法,以提升应用程序的运行速度,避免应用程序运行过程中的卡顿问题。
发明内容
为克服相关技术中存在的问题,本公开提供一种应用程序的运行方法及装置。
根据本公开实施例的第一方面,提供一种应用程序的运行方法,所述方法应用于Android系统中,所述方法包括:
获取多核CPU(Central Processing Unit,中央处理器)的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程。
在本公开的另一个实施例中,所述获取多核中央处理器CPU的CPU大核属性信息,包括:
从指定文件系统中,获取所述多核CPU的CPU大核属性信息。
在本公开的另一个实施例中,所述将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,包括:
如果所述CPU大核运行文件中存在剩余存储空间,则将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中;
如果所述CPU大核运行文件中不存在剩余存储空间,则按照预设的优先级顺序,获取优先级最低的已存储进程标识,将所述已存储进程标识转存至CPU普通核运行文件中,再将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,所述CPU普通核为多核CPU中计算能力小于所述CPU大核的计算单元。
在本公开的另一个实施例中,所述将所述已存储进程标识转存至CPU普通核运行文件中,包括:
获取各个CPU普通核运行文件中包括的进程标识数量;
将所述已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
在本公开的另一个实施例中,所述方法还包括:
当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
当检测到目标应用程序启动后,增加为所述应用程序分配所分配的CPU资源和线程资源;和/或,
当检测到目标应用程序启动后,为所述应用程序分配GPU(GraphicsProcessingUnit,图形处理器)资源。
根据本公开实施例的第二方面,提供一种应用程序的运行装置,所述装置运行于Android系统中,所述装置包括:
信息获取模块,用于获取多核中央处理器CPU的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
文件确定模块,用于当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
标识写入模块,用于将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程。
在本公开的另一个实施例中,所述信息获取模块,用于从指定文件系统中,获取所述多核CPU的CPU大核属性信息。
在本公开的另一个实施例中,所述标识写入模块,用于当所述CPU大核运行文件中存在剩余存储空间时,将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中;当所述CPU大核运行文件中不存在剩余存储空间时,按照预设的优先级顺序,获取优先级最低的已存储进程标识,将所述已存储进程标识转存至CPU普通核运行文件中,再将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,所述CPU普通核为多核CPU中计算能力小于所述CPU大核的计算单元。
在本公开的另一个实施例中,所述标识写入模块,用于获取各个CPU普通核运行文件中包括的进程标识数量;将所述已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
在本公开的另一个实施例中,所述装置还包括:
内存清理模块,用于当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
网速限制模块,用于当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
资源增加模块,用于当检测到目标应用程序启动后,增加为所述应用程序分配所分配的CPU资源和线程资源;和/或,
资源分配模块,用于当检测到目标应用程序启动后,为所述应用程序分配图形处理器GPU资源。
根据本公开实施例的第三方面,提供一种应用程序的运行装置,包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
获取多核中央处理器CPU的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种应用程序的运行方法的流程图。
图2是根据一示例性实施例示出的一种应用程序的运行方法的流程图。
图3是根据一示例性实施例示出的一种应用程序的运行装置的框图。
图4是根据一示例性实施例示出的一种应用程序的运行装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种应用程序的运行方法的流程图,如图1所示,应用程序的运行方法用于终端中,该终端中安装的操作系统为Android系统,且该Android系统为Android4.1及其以上版本。本开实施例包括以下步骤。
在步骤S101中,获取多核中央处理器CPU的CPU大核属性信息。
其中,CPU大核为多核CPU中计算能力最强的计算单元,CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,CPU大核运行文件包括CPU大核所要运行的各个应用程序的进程标识。
在步骤S102中,当检测到目标应用程序启动后,根据CPU大核属性信息,确定CPU大核运行文件。
在步骤S103中,将目标应用程序的目标进程标识写入到CPU大核运行文件中,以通过CPU大核运行目标应用程序的目标进程。
本公开实施例提供的方法,通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。
在本公开的另一个实施例中,获取多核中央处理器CPU的CPU大核属性信息,包括:
从指定文件系统中,获取多核CPU的CPU大核属性信息。
在本公开的另一个实施例中,将目标应用程序的目标进程标识写入到CPU大核运行文件中,包括:
如果CPU大核运行文件中存在剩余存储空间,则将目标应用程序的目标进程标识写入到CPU大核运行文件中;
如果CPU大核运行文件中不存在剩余存储空间,则按照预设的优先级顺序,获取优先级最低的已存储进程标识,将已存储进程标识转存至CPU普通核运行文件中,再将目标应用程序的目标进程标识写入到CPU大核运行文件中,CPU普通核为多核CPU中计算能力小于CPU大核的计算单元。
在本公开的另一个实施例中,将已存储进程标识转存至CPU普通核运行文件中,包括:
获取各个CPU普通核运行文件中包括的进程标识数量;
将已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
在本公开的另一个实施例中,该方法还包括:
当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
当检测到目标应用程序启动后,增加为应用程序分配所分配的CPU资源和线程资源;和/或,
当检测到目标应用程序启动后,为应用程序分配图形处理器GPU资源。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种应用程序的运行方法的流程图,如图2所示,应用程序的运行方法用于终端中,该终端中安装的操作系统为Android系统,且该Android系统为Android4.1及其以上版本,该终端可以为智能手机、智能电视、平板电脑等设备。本公开实施例包括以下步骤。
在步骤S201中,终端获取多核CPU的CPU大核属性信息。
对于多核CPU来说,根据计算能力不同,通常可分为CPU大核和CPU普通核。CPU大核为多核CPU中计算能力最强的计算单元,在多核CPU中,CPU大核的数量至少一个,CPU大核一般为CPU0、CPU2、CPU5等。CPU普通核为多核CPU中计算能力小于CPU大核的计算单元,在多核CPU中,CPU普通核的数量至少为一个,包括多核CPU中除CPU大核之外的全部计算单元。
其中,CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息等,CPU大核运行文件包括CPU大核所要运行的各个应用程序的进程标识。终端获取多核CPU的CPU大核属性信息时,可从指定文件系统中,获取多核CPU的CPU大核属性信息。在本公开实施例中,指定文件系统负责存储CPU的物理信息数据、CPU逻辑信息数据等,该指定文件系统可以为proc文件系统。基于该proc文件系统,终端即可从/proc/cpuinfo中获取CPU大核属性信息。
在步骤S202中,当检测到目标应用程序启动后,终端根据CPU大核属性信息,确定CPU大核运行文件。
其中,目标应用程序为当前待运行的应用程序。当检测到目标应用程序的启动操作后,终端从CPU大核属性信息中获取CPU大核名称和CPU大核运行文件的位置信息等,进而根据所获取到的信息,确定出CPU大核运行文件。
在步骤S203中,终端将目标应用程序的目标进程标识写入到CPU大核运行文件中。
当检测到目标应用程序启动后,终端会自动为目标应用程序创建一个目标应用程序标识,进而将该目标应用程序的目标进程标识写入到CPU大核运行文件中。
终端将目标应用程序的目标进程标识写入到CPU大核运行文件中,包括但不限于如下两种情况:
第一种情况、如果CPU大核运行文件中存在剩余存储空间,则终端将目标应用程序的目标进程标识写入到CPU大核运行文件中。
由于CPU大核运行文件的存储空间是有限的,因此,终端在将目标应用程序的目标进程标识写入到CPU大核运行文件之前,还需要检测CPU大核运行文件中是否存在剩余存储空间。当检测到CPU大核运行文件中存在剩余存储空间时,终端可直接将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行该目标应用程序的目标进程。
第二种情况、如果CPU大核运行文件中不存在剩余存储空间,则终端按照预设的优先级顺序,获取优先级最低的已存储进程标识,将已存储进程标识转存至CPU普通核运行文件中,再将目标应用程序的目标进程标识写入到CPU大核运行文件中。
当检测到CPU大核运行文件中不存在剩余存储空间时,终端需要将已存储进程标识转存至CPU普通核运行文件中,从而保证目标应用程序的运行。而在此之前,终端可为不同应用程序的进程标识设置不同的优先级,从而能够在CPU大核运行文件中不存在剩余存储空间,可按照预设的优先级顺序,对已存储进程标识进行转存,然后再将目标应用程序的目标进程标识写入到CPU大核运行文件中。
具体地,终端在为不同应用程序的进程标识设置优先级时,可按照每个应用程序的使用频次由高到低的顺序,为使用频次高的应用程序的进程标识设置较高的优先级,为使用频次低的应用程序的进程标识设置较低的优先级;终端还可根据出现卡顿问题对用户体验的影响程度由高到低的顺序,为对用户体验影响程度高的应用程序的进程标识设置较高的优先级,为对用户体验影响程度较低的应用程序的进程标识设置较低的优先级,当然,还可采用其他方式,本公开实施例不再一一说明。
按照预先设置的优先级顺序,终端获取优先级最低的已存储进程标识,进而将该已存储进程标识转存至CPU普通核运行文件中。由于多核CPU中具有至少一个CPU普通核,相应地,CPU普通核运行文件的数量也是至少一个,因而终端在将已存储进程标识转存至CPU普通核运行文件中,需要从至少一个CPU普通核运行文件进行选取。具体选取时,终端可获取各个CPU普通核运行文件中包括的进程标识数量,进而将已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
进一步地,终端在将目标应用程序的目标进程标识写入到CPU大核运行文件的方式如下:当检测到对CPU大核运行文件的打开操作时,终端打开CPU大核运行文件,然后终端将目标应用程序的目标进程标识转化为相应代码,进而将转化后的代码写入到CPU大核运行文件中,通过关闭CPU大核运行文件,以完成写入操作。
在步骤S204中,终端通过CPU大核运行目标应用程序的目标进程。
当将目标应用程序的目标进程标识写入到CPU大核运行文件之后,终端通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,且由于采用CPU大核运行目标应用程序的目标进程,无需将目标应用程序的目标进程所包括的各个线程分配到不同的CPU普通核,因而就无需采用多核CPU之间的均衡算法策略对目标进程所包括的各个线程进行分配,从而节省了线程分配时间及线程计算时间,提升了目标应用程序的运行速度。
需要说明的是,本公开实施例基于Android系统4.1及其以上版本中所采用的垂直同步方式,通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,确保目标应用程序能够流畅运行。而在此过程中,终端还从系统内存、网速、CPU、GPU等方面着手,结合系统内存、网速、CPU、GPU等至少一方面,从而进一步确保目标应用程序能够流畅运行。对于终端从系统内存、网速、CPU、GPU等的处理过程如下:
在本公开的另一个实施例中,当检测到目标应用程序启动后,终端在后台开启指定线程,通过开启该指定线程执行系统内存清理工作,对当前已占用的系统内存进行清理,从而将当前占用的系统内存预先进行释放,以达到较高的系统内存空闲状态,当需要目标应用程序运行时,终端可在大段完整的内存区域内申请系统内存,不仅在数据交换和计算时间方面提高了运行效率,而且由于可以申请到较大的系统内存,因而目标应用程序的流畅度具有一定的提高,尤其是在数据写入操作层面和界面展示层面流畅度的提高更为明显。
在本公开的另一个实施例中,当检测到目标应用程序启动后,终端可对系统当前运行的其他应用程序的网速进行限制,对于目标应用程序则不对其网速进行限制。在进行网速限制时,终端可获取其他应用程序的进程标识,并将其他应用程序的进程标识发送至网络设备,由网络设备对进程标识对应的其他应用程序的网速进行显示。通过对其他应用程序的网速进行限制,可使目标应用程序能够分配到更多的网络带宽,从而在需要联网下载数据时,可大大提高数据下载速度,以确保目标应用程序能够流畅运行,避免出现卡顿问题。
在本公开的另一个实施例中,当检测到目标应用程序启动后,终端可增加为目标应用程序分配所分配的CPU资源和线程资源,以提升目标应用程序的计算能力,从而当处理复杂的计算任务时,例如,图片处理任务、音视频播放任务等,可提高计算速度,以确保目标应用程序能够流畅运行,避免出现卡顿问题。
在本公开的另一个实施例中,当目标应用程序为音视频类、直播类等应用程序时,由于音视频类、直播类等应用程序,在运行过程中会涉及到对音频、视频的计算,而音频、视频的计算不仅需要CPU资源,GPU资源,因此,当检测到目标应用程序启动后,终端还可预先为应用程序分配GPU资源,以提高对目标应用程序的音视频处理能力,从而使得目标应用程序在画质层面以及机器处理层面均有较大的提升,以确保目标应用程序能够流畅运行,避免出现卡顿问题。
本公开实施例中,终端采用了垂直同步方式,使得显示器的刷新帧率和显卡的刷新帧率尽量保持一致,并将目标应用程序的目标进程标识写入到CPU大核运行文件中,同时采用对系统内存进行清理、对其他应用程序的网速进行限制、为目标应用程序分配CPU资源、为目标应用程序分配GPU等中至少一种方式,来确保目标应用程序能够流畅运行。由于本开实施例中终端考虑了多种维度,因而能够在多方面避免目标应用程序运行过程中出现卡顿,从而提高了Android系统用户的体现效果。
本公开实施例提供的方法,通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。
图3是根据一示例性实施例示出的一种应用程序的运行装置示意图。参照图3,该装置运行于Android系统中,该装置包括:信息获取模块301、文件确定模块302及标识写入模块303。
该信息获取模块301被配置为获取多核中央处理器CPU的CPU大核属性信息,CPU大核为多核CPU中计算能力最强的计算单元,CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,CPU大核运行文件包括CPU大核所要运行的各个应用程序的进程标识;
该文件确定模块302被配置为当检测到目标应用程序启动后,根据CPU大核属性信息,确定CPU大核运行文件;
该标识写入模块303被配置为将目标应用程序的目标进程标识写入到CPU大核运行文件中,以通过CPU大核运行目标应用程序的目标进程。
在本公开的另一个实施例中,该信息获取模块301被配置为从指定文件系统中,获取多核CPU的CPU大核属性信息。
在本公开的另一个实施例中,该标识写入模块303被配置为当CPU大核运行文件中存在剩余存储空间时,将目标应用程序的目标进程标识写入到CPU大核运行文件中;当CPU大核运行文件中不存在剩余存储空间时,按照预设的优先级顺序,获取优先级最低的已存储进程标识,将已存储进程标识转存至CPU普通核运行文件中,再将目标应用程序的目标进程标识写入到CPU大核运行文件中,CPU普通核为多核CPU中计算能力小于CPU大核的计算单元。
在本公开的另一个实施例中,该标识写入模块303被配置为获取各个CPU普通核运行文件中包括的进程标识数量;将已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
在本公开的另一个实施例中,该装置还包括:内存清理模块、网速限制模块、资源增加模块及资源分配模块中至少一个。
该内存清理模块被配置为当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
该网速限制模块被配置为当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
该资源增加模块被配置为当检测到目标应用程序启动后,增加为应用程序分配所分配的CPU资源和线程资源;和/或,
该资源分配模块被配置为当检测到目标应用程序启动后,为应用程序分配图形处理器GPU资源。
本公开实施例提供的装置,通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种用于应用程序的运行的装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为装置400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种应用程序的运行方法。
本公开实施例提供的装置,通过将目标应用程序的目标进程标识写入到CPU大核运行文件中,从而通过CPU大核运行目标应用程序的目标进程。由于CPU大核的计算能力较强,无需将目标进程在不同CPU普通核之间进行调度,因此,提升了目标应用程序的运行速度,避免了目标应用程序在运行过程中出现卡顿等问题,提高了用户的体验效果。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种应用程序的运行方法,其特征在于,所述方法应用于Android系统中,所述方法包括:
获取多核中央处理器CPU的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
如果所述CPU大核运行文件中存在剩余存储空间,则将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程;
如果所述CPU大核运行文件中不存在剩余存储空间,则按照预设的优先级顺序,获取优先级最低的已存储进程标识,将所述已存储进程标识转存至CPU普通核运行文件中,再将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程,所述CPU普通核为多核CPU中计算能力小于所述CPU大核的计算单元。
2.根据权利要求1所述的方法,其特征在于,所述获取多核中央处理器CPU的CPU大核属性信息,包括:
从指定文件系统中,获取所述多核CPU的CPU大核属性信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述已存储进程标识转存至CPU普通核运行文件中,包括:
获取各个CPU普通核运行文件中包括的进程标识数量;
将所述已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
当检测到目标应用程序启动后,增加为所述应用程序分配所分配的CPU资源和线程资源;和/或,
当检测到目标应用程序启动后,为所述应用程序分配图形处理器GPU资源。
5.一种应用程序的运行装置,其特征在于,所述装置运行于Android系统中,所述装置包括:
信息获取模块,用于获取多核中央处理器CPU的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
文件确定模块,用于当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
标识写入模块,用于当所述CPU大核运行文件中存在剩余存储空间时,将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程,以通过所述CPU大核运行所述目标应用程序的目标进程;当所述CPU大核运行文件中不存在剩余存储空间时,按照预设的优先级顺序,获取优先级最低的已存储进程标识,将所述已存储进程标识转存至CPU普通核运行文件中,再将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程,所述CPU普通核为多核CPU中计算能力小于所述CPU大核的计算单元。
6.根据权利要求5所述的装置,其特征在于,所述信息获取模块,用于从指定文件系统中,获取所述多核CPU的CPU大核属性信息。
7.根据权利要求5所述的装置,其特征在于,所述标识写入模块,用于获取各个CPU普通核运行文件中包括的进程标识数量;将所述已存储进程标识转存至包括进程标识数量最少的CPU普通核运行文件中。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:
内存清理模块,用于当检测到目标应用程序启动后,通过开启指定线程,对当前已占用的系统内存进行清理;和/或,
网速限制模块,用于当检测到目标应用程序启动后,对系统当前运行的其他应用程序的网速进行限制;和/或,
资源增加模块,用于当检测到目标应用程序启动后,增加为所述应用程序分配所分配的CPU资源和线程资源;和/或,
资源分配模块,用于当检测到目标应用程序启动后,为所述应用程序分配图形处理器GPU资源。
9.一种应用程序的运行装置,其特征在于,包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
获取多核中央处理器CPU的CPU大核属性信息,所述CPU大核为多核CPU中计算能力最强的计算单元,所述CPU大核属性信息包括CPU大核名称和CPU大核运行文件的位置信息,所述CPU大核运行文件包括所述CPU大核所要运行的各个应用程序的进程标识;
当检测到目标应用程序启动后,根据所述CPU大核属性信息,确定CPU大核运行文件;
如果所述CPU大核运行文件中存在剩余存储空间,则将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程;
如果所述CPU大核运行文件中不存在剩余存储空间,则按照预设的优先级顺序,获取优先级最低的已存储进程标识,将所述已存储进程标识转存至CPU普通核运行文件中,再将所述目标应用程序的目标进程标识写入到所述CPU大核运行文件中,以通过所述CPU大核运行所述目标应用程序的目标进程,所述CPU普通核为多核CPU中计算能力小于所述CPU大核的计算单元。
CN201811007771.8A 2018-08-31 2018-08-31 应用程序的运行方法及装置 Active CN109254849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811007771.8A CN109254849B (zh) 2018-08-31 2018-08-31 应用程序的运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811007771.8A CN109254849B (zh) 2018-08-31 2018-08-31 应用程序的运行方法及装置

Publications (2)

Publication Number Publication Date
CN109254849A CN109254849A (zh) 2019-01-22
CN109254849B true CN109254849B (zh) 2021-03-30

Family

ID=65049922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811007771.8A Active CN109254849B (zh) 2018-08-31 2018-08-31 应用程序的运行方法及装置

Country Status (1)

Country Link
CN (1) CN109254849B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125258A (ko) 2019-04-26 2020-11-04 삼성전자주식회사 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
CN110347486B (zh) * 2019-07-02 2023-09-15 Oppo广东移动通信有限公司 应用程序的线程分配方法、装置、设备及可读存储介质
CN110333911A (zh) * 2019-07-04 2019-10-15 北京迈格威科技有限公司 一种文件包读取方法及装置
CN110737518A (zh) * 2019-09-02 2020-01-31 Oppo(重庆)智能科技有限公司 响应速度的提升方法、终端及存储介质
CN110737358A (zh) * 2019-09-02 2020-01-31 Oppo(重庆)智能科技有限公司 一种线程绑定方法及终端、存储介质
CN111414245B (zh) * 2020-03-26 2023-06-13 北京小米移动软件有限公司 一种控制闪存读写速率的方法、装置及介质
CN117793525B (zh) * 2024-02-28 2024-07-02 荣耀终端有限公司 图像处理方法、可读介质、电子设备及程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503831A (zh) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 设备优化方法及装置
CN105550029A (zh) * 2015-12-24 2016-05-04 迈普通信技术股份有限公司 一种进程调度方法及装置
CN106020957A (zh) * 2016-04-27 2016-10-12 青岛海信移动通信技术股份有限公司 移动通信终端进程创建方法和移动通信终端
CN106020987A (zh) * 2016-05-31 2016-10-12 广东欧珀移动通信有限公司 处理器中内核运行配置的确定方法以及装置
CN106997309A (zh) * 2016-01-22 2017-08-01 中兴通讯股份有限公司 一种cpu核心的管理方法、装置及终端
CN107168803A (zh) * 2017-05-19 2017-09-15 努比亚技术有限公司 一种cpu资源分配方法和终端
CN107526640A (zh) * 2017-08-17 2017-12-29 广东欧珀移动通信有限公司 资源管理方法、装置、移动终端及计算机可读存储介质
CN108170534A (zh) * 2017-12-29 2018-06-15 贵阳动视云科技有限公司 一种提高应用程序执行效率的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504618B (zh) * 2009-02-26 2011-04-27 浙江大学 面向多核处理器的实时线程迁移方法
CN105550026A (zh) * 2015-12-09 2016-05-04 广东小天才科技有限公司 应用搬移方法及装置
CN108307236A (zh) * 2018-02-01 2018-07-20 深圳创维-Rgb电子有限公司 一种智能电视优化内存的方法、存储介质及智能电视

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503831A (zh) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 设备优化方法及装置
CN105550029A (zh) * 2015-12-24 2016-05-04 迈普通信技术股份有限公司 一种进程调度方法及装置
CN106997309A (zh) * 2016-01-22 2017-08-01 中兴通讯股份有限公司 一种cpu核心的管理方法、装置及终端
CN106020957A (zh) * 2016-04-27 2016-10-12 青岛海信移动通信技术股份有限公司 移动通信终端进程创建方法和移动通信终端
CN106020987A (zh) * 2016-05-31 2016-10-12 广东欧珀移动通信有限公司 处理器中内核运行配置的确定方法以及装置
CN107168803A (zh) * 2017-05-19 2017-09-15 努比亚技术有限公司 一种cpu资源分配方法和终端
CN107526640A (zh) * 2017-08-17 2017-12-29 广东欧珀移动通信有限公司 资源管理方法、装置、移动终端及计算机可读存储介质
CN108170534A (zh) * 2017-12-29 2018-06-15 贵阳动视云科技有限公司 一种提高应用程序执行效率的方法及装置

Also Published As

Publication number Publication date
CN109254849A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN109254849B (zh) 应用程序的运行方法及装置
CN105955765B (zh) 应用预加载方法及装置
RU2637474C2 (ru) Способ и устройство для управления фоновым приложением и терминальным устройством
CN107370772B (zh) 账号登录方法、装置及计算机可读存储介质
CN107193653B (zh) 带宽资源分配方法、装置及存储介质
CN107291626B (zh) 数据存储方法和装置
CN106033397B (zh) 内存缓冲区调整方法、装置及终端
EP3015983B1 (en) Method and device for optimizing memory
CN113703937B (zh) 动画切换方法及装置、存储介质
US9678868B2 (en) Method and device for optimizing memory
CN108958911B (zh) 进程的控制方法及装置
CN111865630B (zh) 拓扑信息获取方法、装置、终端及存储介质
CN110968523A (zh) 内存碎片整理的方法和装置
CN109062625B (zh) 应用程序加载的方法、装置及可读存储介质
CN107371222B (zh) 虚拟卡禁用方法及装置
CN104837020B (zh) 播放视频的方法和装置
CN106502740B (zh) 应用安装方法和装置
CN114510342A (zh) 缓存处理方法、装置及存储介质
CN112307229A (zh) 数据处理方法及装置、电子设备、计算机可读存储介质
CN114461360A (zh) 线程管控方法、线程管控装置、终端及存储介质
CN114077461A (zh) 应用程序的运行方法、装置、设备及存储介质
CN112817844A (zh) 后台进程驻留测试方法、装置、设备及存储介质
CN112286692A (zh) 内存回收方法、内存回收装置及存储介质
CN112286687A (zh) 一种资源处理方法及装置
CN105893146B (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