CN112948074A - dex2oat进程的CPU资源调度方法及电子设备 - Google Patents
dex2oat进程的CPU资源调度方法及电子设备 Download PDFInfo
- Publication number
- CN112948074A CN112948074A CN202110135760.3A CN202110135760A CN112948074A CN 112948074 A CN112948074 A CN 112948074A CN 202110135760 A CN202110135760 A CN 202110135760A CN 112948074 A CN112948074 A CN 112948074A
- Authority
- CN
- China
- Prior art keywords
- application
- dex2oat
- installer
- scheduling
- cpu resource
- 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.)
- Granted
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
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明公开了一种dex2oat进程的CPU资源调度方法及电子设备,包括:接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;根据应用信息确定当前运行在后台的应用中是否包含安装器类应用;若当前运行在后台的应用中包含安装器类应用,根据进程编码对dex2oat进程占用的CPU资源进行调度。本发明根据安装器类应用的前后台运行情况,对dex2oat进程占用的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时取消对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及的是dex2oat进程的CPU资源调度方法及电子设备。
背景技术
dex2oat进程是安装Android应用时的一个编译进程,用于对待安装的应用进行编译优化,现有智能终端安装应用时,由于dex2oat进程占用大量CPU资源,智能终端容易出现卡顿,甚至无法正常使用。
为了解决上述问题,现有方法是根据安装程序的安装来源进行不同线程的数量划分,这种方法虽然在一定程度上可以缓解后台安装应用时移动终端的卡顿问题,但由于创建线程数预先设定,后续无论是否切换前后台,线程数都不会发生改变,无法满足用户快速安装应用的需求。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种dex2oat进程的CPU资源调度方法及电子设备,旨在解决现有智能终端根据安装程序的安装来源分配固定线程数,无法满足用户快速安装应用的需求的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种dex2oat进程的CPU资源调度方法,其中,包括:
接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;
根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用;
若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
所述的dex2oat进程的CPU资源调度方法,其中,所述应用信息包括应用名和进程值,所述根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用的步骤包括:
根据当前运行的应用对应的进程值,确定当前运行在后台的应用;
根据当前运行在后台的应用对应的应用名,确定当前运行在后台的应用中是否包含安装器类应用。
所述的dex2oat进程的CPU资源调度方法,其中,所述接收到预设的回调函数返回的dex2oat进程对应的进程编码的步骤之前包括:
创建用于获取dex2oat进程对应的进程编码的回调函数。
所述的dex2oat进程的CPU资源调度方法,其中,所述创建用于获取dex2oat进程对应的进程编码的回调函数的步骤包括:
在接口定义文件中增加注册函数定义和回调函数的定义文件,并在所述接口定义文件对应的实现类中添加所述注册函数的实现;
创建所述回调函数的对象实例,并通过所述注册函数将所述对象实例传递给所述实现类,以实现所述回调函数的注册。
所述的dex2oat进程的CPU资源调度方法,其中,所述根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度的步骤包括:
将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核;
根据所述目标CPU核对所述dex2oat进程占用的CPU资源进行调度。
所述的dex2oat进程的CPU资源调度方法,其中,所述将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核的步骤之前包括:
预先设置若干控制组节点及各个所述控制组节点对应的目标CPU核。
所述的dex2oat进程的CPU资源调度方法,其中,所述方法还包括:
当所述安装器类应用对应的进程值发生变化,获取变化后的进程值;
根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行,当所述安装器类应用切换到前台运行时,取消对所述dex2oat进程的CPU资源进行调度。
所述的dex2oat进程的CPU资源调度方法,其中,所述根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行的步骤包括:
将变化后的所述进程值与预设前台服务阈值进行比较,当所述进程值达到所述前台服务阈值时,则确定所述安装器类应用切换到前台运行。
第二方面,本发明实施例还提供一种dex2oat进程的CPU资源调度装置,其中,所述装置包括:
信息获取模块,用于接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;
应用判断模块,用于根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用;
资源调度模块,用于若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
第三方面,本发明实施例提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的dex2oat进程的CPU资源调度方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的dex2oat进程的CPU资源调度方法的步骤。
本发明的有益效果:本发明实施例接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息,然后,根据所述应用信息确定当前运行在后台的应用中是否包含安装器类应用,最后,若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度,因此,根据安装器类应用的前后台运行情况,对dex2oat进程占用的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时不对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的dex2oat进程的CPU资源调度方法的流程示意图;
图2是本发明实施例提供的dex2oat进程的CPU资源调度方法中,安装类应用前后台切换的CPU资源变化图;
图3是未使用本发明实施例提供的dex2oat进程的CPU资源调度方法的实验结果图;
图4是使用本发明实施例提供的dex2oat进程的CPU资源调度方法的实验结果图;
图5是本发明实施例提供的dex2oat进程的CPU资源调度装置的原理框图;
图6是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
现有智能终端,特别是低端SoC平台的Android智能终端普遍为4核,由于频率与制程较为落后,整体性能较差,安装应用时由于dex2oat进程占用大量CPU资源,智能终端容易出现卡顿,甚至无法正常使用。
为了解决上述问题,现有方法是根据安装程序的某一字段如reason字段确定程序的安装来源,并根据安装来源进行不同线程的数量划分,例如安装来源为A,则分配CPU0和CPU1,安装来源为B,则分配CPU2和CPU3,虽然这种方法在一定程度上可以缓解后台安装应用时移动终端的卡顿问题,但由于安装程序的线程数固定,当用户需要快速安装应用时,无法为应用安装分配更多线程。
为了解决现有技术的问题,本实施例提供了一种dex2oat进程的CPU资源调度方法,通过所述方法可以在安装器类应用运行在后台时,为分配给dex2oat进程的CPU资源进行限制,以分配更多CPU资源给前台运行的应用,以避免智能终端出现卡顿;当安装器类应用运行在前台时,对分配给dex2oat进程的CPU资源取消限制,从而实现应用的快速安装。具体实施时,在接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息,然后,根据所述应用信息确定当前运行在后台的应用中是否包含安装器类应用,最后,若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程的CPU资源进行调度,因此,根据安装器类应用的前后台运行情况,对dex2oat进程的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时不对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
举例说明,接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息,根据所述应用信息确定当前运行在后台的应用中是否包含安装器类应用,若当前运行在后台的应用中包含安装器类应用,即当前后台有应用正在安装,如当前后台正在安装Facebook,为了避免安装应用时运行的dex2oat进程占用较多CPU资源,造成前台运行的应用出现卡顿,则根据进程编码对dex2oat进程占用的CPU资源进行调度,如将分配给dex2oat进程的CPU资源限制在CPU0;当Facebook由后台切换到前台进行安装时,即当前运行在后台的应用中不包含安装器类应用,则取消对dex2oat进程占用的CPU资源的限制。由于本实施例中根据安装器类应用的前后台运行情况,对dex2oat进程占用的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时不对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
示例性方法
本实施例提供一种dex2oat进程的CPU资源调度方法,该方法可以应用于智能终端。具体如图1中所示,所述方法包括:
步骤S100、接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息。
具体地,dex2oat进程是安装Android应用时的一个编译进程,用于对待安装的应用进行编译优化,提升应用安装后的执行效率,每个dex2oat进程都有唯一的进程编码。所述当前运行的应用指智能终端上当前运行的应用,如微信、QQ等,本实施例中预先创建回调函数,智能终端接收到应用安装指令后,会创建dex2oat进程对待安装应用进行编译优化并通过预设的回调函数返回dex2oat进程对应的进程编码,接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息,以便后续步骤中确定是否有安装器类应用运行于后台。
在一具体实施方式中,步骤S100中所述接收到预设的回调函数返回的dex2oat进程对应的进程编码的步骤之前包括:
步骤M100、创建用于获取dex2oat进程对应的进程编码的回调函数。
Dexopt.cpp是一个c++代码的源文件,编译出来是应用安装进程的部分函数实现,主要作用是在安装应用时通过linux内核的fork函数创建dex2oat进程。本实施例中预先创建一个回调函数IPidNotifier.aidl,通过回调函数在Dexopt.cpp中fork出dex2oat进程处获取此次安装操作对应的dex2oat进程对应的进程编码,以便后续步骤中根据所述进程编码进行CPU资源调度。
在一具体实施方式中,步骤M1OO具体包括:
步骤M110、在接口定义文件中增加注册函数定义和回调函数的定义文件,并在所述接口定义文件对应的实现类中添加所述注册函数的实现;
步骤M120、创建所述回调函数的对象实例,并通过所述注册函数将所述对象实例传递给所述实现类,以实现所述回调函数的注册。
IInstalld.aidl为Android框架层(Android framework层)与本地(native)层负责应用安装的进程(installd进程)进行通信的接口定义文件,InstalldNativeService.cpp是负责应用安装的本地(native)进程的实现类,ActivityManagerService泛指有引用关系的类。本实施例中为了创建回调函数,首先在IInstalld.aidl中添加注册函数的函数定义以及回调接口的aidl定义文件IPidNotifier.aidl,并在InstalldNativeService.cpp中添加所述注册函数的实现;然后在ActivityManagerService的java层创建所述回调函数的对象实例,并将所述对象实例通过所述注册函数传递给InstalldNativeService.cpp,以实现所述回调函数的注册。现有IInstalld.aidl定义的函数都只能使ActivityManagerService单向传递消息给InstalldNativeService.cpp,而本实施例创建的回调函数,可以将dex2oat进程对应的进程编码由InstalldNativeService.cpp反向传递给ActivityManagerService。
步骤S200、根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用。
智能终端上当前运行的应用分为两类,一类是智能终端当前显示屏上显示的应用即前台应用,另一类是智能终端上正在运行但未显示在显示屏上的应用即后台应用。本实施例中获取当前运行的应用对应的应用信息后,根据所述应用信息确定当前运行在后台的应用中是否包含安装器类应用,当后台的应用中包含安装器类应用时,则表明智能终端当前有应用在后台安装,当后台的应用中不包含安装器类应用时,则表明智能终端当前没有应用在后台安装,以便后续步骤中根据安装器类应用的前后台运行情况对dex2oat进程的CPU资源进行动态调度。
在一具体实施方式中,所述应用信息包括应用名和进程值,步骤S200具体包括:
步骤S210、根据当前运行的应用对应的进程值,确定当前运行在后台的应用;
步骤S220、根据当前运行在后台的应用对应的应用名,确定当前运行在后台的应用中是否包含安装器类应用。
具体地,所述应用信息包括应用名和进程值即oomadj值,每个应用都有其对应的应用名以及进程值,根据应用名可以判断应用是否为安装器类应用,如应用名中存在应用商店或第三方应用安装器时,表明该应用为安装器类应用;根据oomadj值可以判断应用是否运行于前台,如当应用的oomadj值达到智能终端预设前台服务阈值时,则表明应用运行在前台。本实施例中确定当前运行在后台的应用中是否包含安装器类应用时,首先获取当前运行的应用对应的进程值即oomadj值,并将当前运行的应用对应的进程值与预设前台服务阈值进行比较,确定当前运行在后台的应用;然后获取当前运行在后台的应用对应的应用名,根据应用名确定当前运行在后台的应用中是否包含安装器类应用。
步骤S300、若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
具体地,若当前运行的应用列表中不存在安装器类应用,但存在dex2oat进程,表明这是一次adb静默安装,这种情况下虽然dex2oat进程抢占CPU资源依据会造成智能终端卡顿,但考虑到这种场景多见于开发模式下的abd静默安装行为,此种情况下无需对dex2oat进程的CPU资源限制;若当前运行的应用列表中存在安装器类应用,但安装器类应用运行在前台时,表明用户希望尽快完成应用安装,此中情况下也无需对dex2oat进程的CPU资源限制;若当前运行的应用列表中存在安装器类应用,且安装器类应用运行在后台时,若不对dex2oat进程占用的CPU资源进行调度,会因为dex2oat进程占用较多CPU资源而造成智能终端卡顿。因此,本实施例中若当前运行在后台的应用中包含安装器类应用,则根据dex2oat进程对应的进程编码对dex2oat进程占用的CPU资源进行调度,以避免智能终端出现卡顿。
在一具体实施方式中,步骤S300包括步骤:
步骤S310、将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核;
步骤S320、根据所述目标CPU核对所述dex2oat进程占用的CPU资源进行调度。
本实施例中预先设置若干控制组节点以及各控制组节点对应的目标CPU核,例如设置控制组节点/dev/cpuset/dex2oat/task,并配置/dev/cpuset/dex2oat/task为0。获取安装器类应用的dex2oat进程对应的进程编码后,将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核,根据所述目标CPU核对所述dex2oat进程占用的CPU资源进行调度。例如,将进程编码写入控制组节点/dev/cpuset/dex2oat/task中,则linux内核在分配任务时间片的时候就会根据这个配额进行判断,如果发现待分配的任务的进程编码为dex2oat进程对应的进程编码时,会将该线程的任务分配给CPU0(即第1颗CPU核),则dex2oat进程只会运行在CPU0上,而不会运行在其它CPU核上。
在一具体实施方式中,所述方法还包括:
步骤S410、当所述安装器类应用对应的进程值发生变化,获取变化后的进程值;
步骤S420、根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行,当所述安装器类应用切换到前台运行时,取消对所述dex2oat进程的CPU资源进行调度。
考虑到当前运行的应用会随时在前后台切换,本实施例中实时检测当前运行在后台的安装器类应用对应的进程值是否发生变化,当进程值发生变化时,获取变化后的进程值,并根据变化后的进程值确定所述安装器类应用是否切换到前台运行,当所述安装器类应用切换到前台运行时,表明用户期望应用快速安装,则取消对所述安装器类应用对应的dex2oat进程的CPU资源进行调度,以实现安装器类应用的快速安装。如图2所示,为安装器类应用前后台切换时CPU资源变化图,由图2可以看出,当开始安装应用时,dex2oat进程占有CPU0、CPU1、CPU2以及CPU3,当应用切换到后台安装时,dex2oat进程占有的CPU资源被限制,只占有CPU0,当应用切换到前台安装时,dex2oat占有的CPU资源未受到限制,即dex2oat进程占有CPU0、CPU1、CPU2以及CPU3。
在一具体实施方式中,步骤S420中所述根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行的步骤包括:
步骤S421、将变化后的所述进程值与预设前台服务阈值进行比较,当所述进程值达到所述前台服务阈值时,则确定所述安装器类应用是否切换到前台运行。
每个智能终端都有其预设前台服务阈值,当应用的进程值达到智能终端的前台服务阈值时,则表明该应用运行在前台。本实施例中获取到安装器类应用变化后的进程值后,将变化后的进程值与预设前台服务阈值进行比较,当所述进程值达到所述前台服务阈值时,则确定所述安装器类应用切换到前台运行,则取消对dex2oat进程占用的CPU资源的限制;当所述进程值未达到所述前台服务阈值时,则确定所述安装器类应用未切换到前台运行,则继续对dex2oat进程占用的CPU资源进行限制。
为了验证本实施例中dex2oat进程的CPU资源调度方法的技术效果,发明人在现有MT6761平台的设备上执行如下操作:a、安装Facebook;b、点击HOME键返回桌面;c、启动微信(已登录账号);d、从点击微信图标到微信聊天界面完全展示进行计时。如图3和图4所示分别为未使用和使用本实施例提供的dex2oat进程的CPU资源调度方法得到的实验结果图,从图3和图4可以看出,未使用本实施例提供的dex2oat进程的CPU资源调度方法得到的计时结果为11秒以上,使用本实施例提供的dex2oat进程的CPU资源调度方法得到的计时结果为8秒左右,耗时明显减少,表明本实施例中提供的dex2oat进程的CPU资源调度方法能够有效降低应用安装导致的卡顿问题。
由此可见,本发明实施例在接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息,然后根据所述应用信息确定当前运行在后台的应用中是否包含安装器类应用,最后,若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码,对所述dex2oat进程占用的CPU资源进行调度,因此,根据安装器类应用的前后台运行情况,对dex2oat进程占用的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时取消对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
示例性设备
如图5中所示,本发明实施例提供一种dex2oat进程的CPU资源调度装置,该装置包括:信息获取模块510、应用判断模块520、资源调度模块530。具体地,所述信息获取模块510,用于接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息。应用判断模块520,用于根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用。所述资源调度模块530,用于若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图6所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种dex2oat进程的CPU资源调度方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图6中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;
根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用;
若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种dex2oat进程的CPU资源调度方法及电子设备,包括:接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;根据应用信息确定当前运行在后台的应用中是否包含安装器类应用;若当前运行在后台的应用中包含安装器类应用,则根据进程编码对dex2oat进程占用的CPU资源进行调度。本发明根据安装器类应用的前后台运行情况,对dex2oat进程占用的CPU资源进行动态调度,在安装器类应用运行于后台时对dex2oat进程的CPU资源进行限制,避免移动终端出现卡顿,在安装器类应用运行于前台时取消对dex2oat进程的CPU资源进行限制,提高应用的安装速度。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种dex2oat进程的CPU资源调度方法,其特征在于,包括:
接收到预设的回调函数返回的dex2oat进程对应的进程编码后,获取当前运行的应用对应的应用信息;
根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用;
若当前运行在后台的应用中包含安装器类应用,则根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度。
2.根据权利要求1所述的dex2oat进程的CPU资源调度方法,其特征在于,所述应用信息包括应用名和进程值,所述根据所述应用信息,确定当前运行在后台的应用中是否包含安装器类应用的步骤包括:
根据当前运行的应用对应的进程值,确定当前运行在后台的应用;
根据当前运行在后台的应用对应的应用名,确定当前运行在后台的应用中是否包含安装器类应用。
3.根据权利要求1所述的dex2oat进程的CPU资源调度方法,其特征在于,所述接收到预设的回调函数返回的dex2oat进程对应的进程编码的步骤之前包括:
创建用于获取dex2oat进程对应的进程编码的回调函数。
4.根据权利要求3所述的dex2oat进程的CPU资源调度方法,其特征在于,所述创建用于获取dex2oat进程对应的进程编码的回调函数的步骤包括:
在接口定义文件中增加注册函数定义和回调函数的定义文件,并在所述接口定义文件对应的实现类中添加所述注册函数的实现;
创建所述回调函数的对象实例,并通过所述注册函数将所述对象实例传递给所述实现类,以实现所述回调函数的注册。
5.根据权利要求1所述的dex2oat进程的CPU资源调度方法,其特征在于,所述根据所述进程编码对所述dex2oat进程占用的CPU资源进行调度的步骤包括:
将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核;
根据所述目标CPU核对所述dex2oat进程占用的CPU资源进行调度。
6.根据权利要求5所述的dex2oat进程的CPU资源调度方法,其特征在于,所述将所述进程编码写入预设的控制组节点,并获取所述控制组节点对应的目标CPU核的步骤之前包括:
预先设置若干控制组节点及各个所述控制组节点对应的目标CPU核。
7.根据权利要求2所述的dex2oat进程的CPU资源调度方法,其特征在于,所述方法还包括:
当所述安装器类应用对应的进程值发生变化,获取变化后的进程值;
根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行,当所述安装器类应用切换到前台运行时,取消对所述dex2oat进程的CPU资源进行调度。
8.根据权利要求7所述的dex2oat进程的CPU资源调度方法,其特征在于,所述根据变化后的所述进程值确定所述安装器类应用是否切换到前台运行的步骤包括:
将变化后的所述进程值与预设前台服务阈值进行比较,当所述进程值达到所述前台服务阈值时,则确定所述安装器类应用切换到前台运行。
9.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-8中任意一项所述的dex2oat进程的CPU资源调度方法的步骤。
10.一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-8中任意一项所述的dex2oat进程的CPU资源调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135760.3A CN112948074B (zh) | 2021-02-01 | 2021-02-01 | dex2oat进程的CPU资源调度方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135760.3A CN112948074B (zh) | 2021-02-01 | 2021-02-01 | dex2oat进程的CPU资源调度方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948074A true CN112948074A (zh) | 2021-06-11 |
CN112948074B CN112948074B (zh) | 2023-08-18 |
Family
ID=76240611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110135760.3A Active CN112948074B (zh) | 2021-02-01 | 2021-02-01 | dex2oat进程的CPU资源调度方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948074B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897607A (zh) * | 2015-12-17 | 2017-06-27 | 北京奇虎科技有限公司 | 一种应用程序监控方法及装置 |
CN108614697A (zh) * | 2016-12-13 | 2018-10-02 | 杭州华为数字技术有限公司 | 后台Dex编译管控的方法及装置 |
CN111435318A (zh) * | 2019-01-15 | 2020-07-21 | 青岛海信移动通信技术股份有限公司 | 应用程序的dex优化方法及终端 |
CN112162851A (zh) * | 2020-09-14 | 2021-01-01 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
-
2021
- 2021-02-01 CN CN202110135760.3A patent/CN112948074B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897607A (zh) * | 2015-12-17 | 2017-06-27 | 北京奇虎科技有限公司 | 一种应用程序监控方法及装置 |
CN108614697A (zh) * | 2016-12-13 | 2018-10-02 | 杭州华为数字技术有限公司 | 后台Dex编译管控的方法及装置 |
CN111435318A (zh) * | 2019-01-15 | 2020-07-21 | 青岛海信移动通信技术股份有限公司 | 应用程序的dex优化方法及终端 |
CN112162851A (zh) * | 2020-09-14 | 2021-01-01 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112948074B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040078547A1 (en) | Security method making deterministic real time execution of multitask applications of control and command type with error confinement | |
KR102466012B1 (ko) | 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체 | |
JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
CN109688191B (zh) | 流量调度方法及通信装置 | |
US9229765B2 (en) | Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task | |
US9311142B2 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
CN113032125B (zh) | 作业调度方法、装置、计算机系统和计算机可读存储介质 | |
KR102685982B1 (ko) | 제어기를 작동시키기 위한 방법 및 장치 | |
JP2007188523A (ja) | タスク実行方法およびマルチプロセッサシステム | |
US20240272942A1 (en) | Method, device, and storage medium for container-based process scheduling | |
US9841994B2 (en) | Implementation of multi-tasking on a digital signal processor with a hardware stack | |
CN117149369A (zh) | 一种线程调度方法及处理器 | |
US20050132038A1 (en) | Resource reservation system and resource reservation method and recording medium storing program for executing the method | |
US11561843B2 (en) | Automated performance tuning using workload profiling in a distributed computing environment | |
JPH06243112A (ja) | マルチプロセッサ装置 | |
CN104102491B (zh) | 单片机实时任务与耗时任务并行执行的实现方法和系统 | |
CN112948074B (zh) | dex2oat进程的CPU资源调度方法及电子设备 | |
CN103077081A (zh) | 资源调整的方法及装置 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
Yokoyama et al. | A real-time operating system with location-transparent inter-core and inter-node system calls for distributed embedded control systems | |
US9396044B2 (en) | Memory efficient thread-level speculation | |
CN108280113B (zh) | Service Worker控制方法、装置及电子终端 | |
CN113360251A (zh) | 智能合约执行与跨合约调用方法、装置及存储介质 | |
CN111800487A (zh) | 数据更新方法、装置、设备及存储介质 | |
KR101952221B1 (ko) | 캐시 부스팅과 경과시간 최소화를 통한 효율적인 멀티태스킹 그래픽처리장치 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230712 Address after: Z0042, 1st Floor, Building 4, No. 88 Meishan Qixing Road, Beilun District, Ningbo City, Zhejiang Province, 315800 Applicant after: Yuxin Zhixing Technology (Ningbo) Co.,Ltd. Address before: 516003 No.86, hechangqi Road West, Zhongkai high tech Zone, Huizhou City, Guangdong Province Applicant before: HUIZHOU TCL MOBILE COMMUNICATION Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |