CN118043780A - 定时任务管理方法、装置、电子设备以及存储介质 - Google Patents
定时任务管理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN118043780A CN118043780A CN202280004246.9A CN202280004246A CN118043780A CN 118043780 A CN118043780 A CN 118043780A CN 202280004246 A CN202280004246 A CN 202280004246A CN 118043780 A CN118043780 A CN 118043780A
- Authority
- CN
- China
- Prior art keywords
- task
- timing
- timing task
- timed
- api
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000001960 triggered effect Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
一种定时任务管理方法、装置、电子设备(1800)以及存储介质,方法包括:响应于定时任务处于运行状态,确定定时任务对应的任务类型(S210);任务类型包括页面级定时任务和应用级定时任务;根据任务类型确定定时任务所属的目标对象,并根据目标对象的运行状态控制定时任务的运行(S220)。将应用程序的定时任务进行分级管理,使得定时任务的管理更加准确、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
Description
本公开涉及电子设备技术领域,具体涉及一种定时任务管理方法、装置、电子设备以及存储介质。
应用程序(Application)在运行时有设置定时任务的需求,相关技术中,系统可调用系统提供的定时任务API(Application Programming Interface,应用程序接口)来设置定时任务。但是,相关技术中,系统对定时任务的管理效果较差,可能导致定时任务被错误地触发,造成应用程序出错。
发明内容
为提高定时任务的管理效果,本公开实施方式提供了一种定时任务管理方法、装置、电子设备以及存储介质。
第一方面,本公开实施方式提供了一种定时任务管理方法,包括:
响应于定时任务处于运行状态,确定所述定时任务对应的任务类型;
根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行。
在一些实施方式中,所述根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行,包括:
在根据所述任务类型确定所述定时任务所属的目标对象为页面对象的情况下,响应于所述页面对象切换至后台运行,暂停所述定时任务的运行;和/或,响应于所述页面对象被销毁,清除所述定时任务。
在一些实施方式中,所述根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行,包括:
在根据所述任务类型确定所述定时任务所属的目标对象为应用程序的情况下,响应于所述应用程序退出运行状态,清除所述定时任务。
在一些实施方式中,所述响应于定时任务处于运行状态,确定所述定时任务对应的任务类型,包括:
响应于定时任务处于运行状态,获取所述定时任务的任务标识,根据所述任务标识确定所述定时任务的所述任务类型。
在一些实施方式中,创建所述定时任务的过程包括:
获取定时任务代码,所述定时任务代码中包括应用程序框架层的定时任务API标识;根据所述定时任务API标识,由所述应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API;
调用所述目标API根据所述定时任务代码创建所述定时任务,并将所述定时任务缓存在所述定时任务所属的目标对象中。
第二方面,本公开实施方式提供了一种定时任务管理装置,包括:
类型确定模块,被配置为响应于定时任务处于运行状态,确定所述定时任务对应的任务类型;
任务控制模块,被配置为根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行。
在一些实施方式中,所述任务控制模块被配置为:
在根据所述任务类型确定所述定时任务所属的目标对象为页面对象的情况下,响应于所述页面对象切换至后台运行,暂停所述定时任务的运行;和/或,响应于所述页面对象被销毁,清除所述定时任务。
在一些实施方式中,所述任务控制模块被配置为:
在根据所述任务类型确定所述定时任务所属的目标对象为应用程序的情况下,响应于所述应用程序退出运行状态,清除所述定时任务。
在一些实施方式中,所述类型确定模块被配置为:
响应于定时任务处于运行状态,获取所述定时任务的任务标识,根据所述任务标识确定所述定时任务的所述任务类型。
在一些实施方式中,本公开的装置,还包括任务创建模块,所述任务创建模块被配置为:
获取定时任务代码,所述定时任务代码中包括应用程序框架层的定时 任务API标识;根据所述定时任务API标识,由所述应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API;
调用所述目标API根据所述定时任务代码创建所述定时任务,并将所述定时任务缓存在所述定时任务所属的目标对象中。
第三方面,本公开实施方式提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据第一方面任意实施方式所述的方法。
第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第一方面任意实施方式所述的方法。
本公开实施方式的定时任务管理方法,包括响应于定时任务处于运行状态,确定定时任务对应的任务类型,根据任务类型确定定时任务所属的目标对象,并根据目标对象的运行状态控制定时任务的运行。本公开实施方式,将应用程序的定时任务进行分级管理,使得定时任务的管理更加准确、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施方式中电子设备的操作系统的架构图。
图2是根据本公开一些实施方式中定时任务管理方法的流程图。
图3是根据本公开一些实施方式中定时任务管理方法的流程图。
图4是根据本公开一些实施方式中定时任务管理装置的结构框图。
图5是根据本公开一些实施方式中电子设备的结构框图。
下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
应用程序(App,Application)在运行时有设置定时任务的需求,系统可调用定时任务API(Application Programming Interface,应用程序编程接口)来设置定时任务。
相关技术中,电子设备系统只提供全局定时任务的API,通过该API设置的定时任务缓存在应用程序全局中。但是,在实际应用中,部分定时任务是属于页面级别的,例如某个定时任务表示“当应用程序中的预设页面对象开启时,每隔预设时间执行预设操作”,若将该定时任务缓存在应用程序全局,在预设页面对象被销毁时,该定时任务依旧存在,并且可能会被错误地触发执行,造成应用程序运行错误。
基于上述缺陷,本公开实施方式提供了一种定时任务管理方法、装置、电子设备以及存储介质,旨在对应用程序的定时任务进行分层级管理,提高应用运行稳定性。
图1示出了本公开一些实施方式中电子设备的安卓(Android)操作系统的架构示意图。
如图1所示,系统软件架构可分为四层,分别为应用程序(Applications)层、应用程序框架(Application Framework)层、函数库(Libraries)层和Linux内核(Linux Kernel)层。
1、应用程序层
应用程序层是Android系统中与用户交互的层级。应用程序层包括手机的各种应用,例如设置、联系人、短信、通话、图库、日历、浏览器等系统应用,或者微信等第三方应用。应用程序层可以根据不同应用访问应用程序框架层提供的服务。一般而言,应用程序使用Java语言开发,通过调用应用程 序框架层所提供的应用程序编程接口(application programming interface,API)来完成。例如,开发者在设置定时任务时,可以在应用程序层访问应用程序框架层提供的用于设置定时任务的接口管理服务。
2、应用程序框架层
应用程序框架层主要是为开发者提供了可以访问应用程序所使用的各种API。对于不同的应用,应用程序框架层为应用程序层提供的API不同,服务也不同。例如,设置定时任务时,应用程序框架层可以为应用程序层提供设置定时任务相关的API,并为应用程序层提供相关接口管理服务,以实现设置定时任务的功能。
具体的,开发者可以通过应用程序框架来与操作系统的底层(例如函数库、Linux内核等)进行交互,开发自己的应用程序。该应用程序框架可以是操作系统的一系列的服务和管理系统。应用程序框架主要包括如下基础服务:
页面管理(Window Manager)模块:用于管理在屏幕上使用的图形用户页面资源,具体可包括:页面对象的创建和销毁、页面对象的显示与隐藏、页面布局、焦点的管理以及输入法和壁纸管理等。
活动管理(Activity Manager)模块:用于管理每个应用的生命周期。应用通常以Activity的形式运行在操作系统中。对于每一个Activity,在活动管理器中都会有一个与之对应的应用记录(Activity Record),这个Activity Record记录了该应用的Activity的状态。活动管理器可以利用这个Activity Record作为标识,调度应用的Activity进程。
视图:具有丰富的、可扩展的视图集合,可用于构建一个应用程序,它具体包括列表(List)、网格(Grid)、文本框(TextBox)、按钮(Button),以及可嵌入的网页浏览器。
通知管理(Notification Manager)模块:用于控制应用程序在状态栏、锁屏界面等显示提示信息(例如警告(Alerts)、通知(Notifications)等)给用户。
3、函数库层
函数库层是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。函数库层包括一些由计算机程序C语言或C++语言编译的函数库,这些函数库能被操作系统中的不同的组件使用,它们通过应用程序框架层为开发者提供服务。具体地,函数库可以包括libc函数库,它是专门为基 于embedded linux的设备定制的;函数库还可以包括多媒体库(Media Framework),该库支持多种编码格式的音频或视频的回放和录制,同时支持静态图像文件,以及常见的音频或视频编码格式。函数库还包括界面管理库(Surface Manager),主要负责管理针对显示系统的访问,具体用于在执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。
函数库层中还可以包括其他的用于实现手机各个功能的函数库,例如:可扩展图形库(scalable graphics library,SGL):基于可扩展标记语言(extensible markup language,XML)文件的2D图形图像处理引擎;安全套接层(secure sockets layer,SSL):位于TVP/IP协议与各种应用层协议之间,为数据通讯提供支持;三维图形处理库(OpenGL/ES):3D效果的支持;轻型数据库(SQLite):关系型数据库引擎;Webkit:Web浏览器引擎;FreeType:位图及矢量字体支持;等等。
安卓运行时(Android Runtime)是一种在操作系统上的运行环境,是操作系统所使用的一种新的虚拟机。在Android Runtime中,采用AOT(Ahead-Of-Time)技术,应用程序在第一次安装的时候,该应用程序的字节码就会被预先编译成机器码,让应用程序成为真正的本地应用,之后再次运行,就省去了编译这一步骤,启动和执行都会变得更加快速。
在本公开其它一些实施例中,Android Runtime也可以由核心函数库(Core Libraries)和Dalvik虚拟机(Dalvik Virtual Machine)代替。核心函数库提供了Java语言API中的大多数功能,主要通过Java原生界面(java native interface,JNI)的方式向应用程序框架层提供调用底层程序库的接口。同时也包含了该操作系统的一些核心API,如android.os、android.net、android.media等等。Dalvik虚拟机使用一种JIT(Just-in-Time)的运行时编译的机制,每次启动一个进程都需要虚拟机在后台重新编译字节码,会对启动速度有一定的影响。每一个应用程序都运行在是一个Dalvik虚拟机中的实例中,每一个Dalvik虚拟机实例都是一个独立的进程空间。Dalvik虚拟机设计成在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。需要提出的是Dalvik虚拟机依赖于Linux内核提供基本功能(线程、底层内存管理)。可以理解的是, Android Runtime、Dalvik属于不同类型的虚拟机,本领域技术人员可以在不同情况下选用不同形式的虚拟机。
4、Linux内核层
Linux内核层提供操作系统的核心系统服务,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都基于Linux内核。Linux内核同时也作为硬件和软件栈之间的抽象层。该层有许多与电子设备相关的驱动程序,主要的驱动有:显示驱动;基于Linux的帧缓冲驱动;作为输入设备的键盘驱动;基于内存技术设备的Flash驱动;照相机驱动;音频驱动;蓝牙驱动;Wi-Fi驱动等。
在上述系统的基础上,本公开实施方式提供了一种定时任务管理方法,该方法可应用于电子设备。本公开实施方式中,电子设备可以是任何适于实施的设备类型,例如智能手机、平板电脑等,本公开对此不作限制。
如图2所示,在一些实施方式中,本公开示例的定时任务管理方法,包括:
S210、响应于定时任务处于运行状态,确定定时任务对应的任务类型。
S220、根据任务类型确定定时任务所属的目标对象,并根据目标对象的运行状态控制定时任务的运行。
本公开实施方式中,将应用程序中的定时任务进行分层级管理,也即,将应用程序中的各个定时任务分为页面级定时任务和应用级定时任务。
页面级定时任务是指属于某个页面对象的定时任务。例如一个示例中,某个定时任务表示“在页面对象A开启过程中,每隔5秒更新一次页面对象A上的时间信息”,可以看到,该定时任务仅对页面对象A有效,因此,本公开实施方式中,即定义该定时任务是所属于页面对象A的页面级定时任务。
应用级定时任务是指属于应用程序全局的定时任务。例如一个示例中,某个定时任务表示“在应用程序B开启过程中,每隔1分钟获取一次位置信息”,可以看到,该定时任务存活于应用程序B的整个生命周期中,至少应用程序B运行过程中,该定时任务即需要持续运行。因此,本公开实施方式中,即定义该定时任务是所属于应用程序B的应用级定时任务。
本公开实施方式中,对于当前运行的任意一个定时任务,可确定该定 时任务的任务类型,任务类型即包括上述的页面级定时任务和应用级定时任务。也即,确定该定时任务的任务类型是页面级定时任务,还是应用级定时任务。
在一些实施方式中,每个定时任务在被创建运行时,其可以携带有任务标识,任务标识用于表示该定时任务对应的任务类型。从而,系统通过读取每个定时任务的任务标识,即可确定定时任务的任务类型。任务标识可以是任何适于区分任务类型的标识信息,本公开对此不作限制。
在确定定时任务的任务类型之后,需要根据该定时任务所属的目标对象管理定时任务的运行。
在一些实施方式中,定时任务的任务类型为页面级定时任务,则该定时任务所属的目标对象即为页面对象,从而,定时任务的运行状态应当跟随该页面对象的运行状态。
例如一个示例中,定时任务A1所属的目标对象为页面对象P1。本公开实施方式中,在页面对象P1正常运行时,可以正常运行定时任务A1;当页面对象P1被隐藏至后台运行时,可以暂停运行定时任务A1;当页面对象P1被切换至前台运行时,可以继续运行定时任务A1;当页面对象P1被销毁时,同时清除定时任务A1。可以理解的是,页面对象被销毁就是该页面对象已经不在前台运行,也不在后台运行,该页面对象对应的进程已经关闭,即该页面对象对应的进程已经被销毁。
可以看到,本公开实施方式中,页面级定时任务的生存周期即为所属页面对象的存活周期。这样,当页面对象被销毁时,其包括的所有定时任务也被自动清除,从而避免定时任务在页面对象被销毁时仍然存活的问题,降低定时任务被错误触发的风险。
在另一些实施方式中,定时任务的任务类型为应用级定时任务,则该定时任务所属的目标对象即为应用程序,从而,定时任务的运行状态应当跟随该应用程序的运行状态。
例如一个示例中,定时任务A2所属的目标对象为应用程序C1。本公开实施方式中,在应用程序C1的进程正常运行时,可以正常运行定时任务A2,也即,无论应用程序C1当前运行哪个页面对象,均不影响定时任务A2的运行,这是因为定时任务A2是属于应用级定时任务。而在应用程 序C1进程被销毁,即应用程序C1退出运行状态时,同时清除定时任务A2。
另外,值得说明一点,在应用程序退出运行状态时,该应用程序所包括的页面对象同样会被销毁,因此可以理解,该应用程序的所有定时任务均会被销毁,即该应用程序对应的应用级定时任务和该应用程序对应页面的页面级定时任务都会被销毁。可以理解的是,应用程序退出运行状态,表明该应用程序不在前台运行,也不在后台运行,该应用程序对应的进程已经关闭,即该应用程序对应的进程已经被销毁。
通过上述可知,本公开实施方式中,通过将应用程序的定时任务进行分级管理,使得定时任务的管理更加准确、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
可以理解,应用程序在运行时,系统会创建各种所需的定时任务,本公开实施方式中,通过编写系统的应用程序框架层结构,为定时任务提供两个API,也即全局定时任务API和页面定时任务API。下面结合图3实施方式对定时任务的创建过程进行说明。
如图3所示,在一些实施方式中,本公开示例的定时任务管理方法中,创建定时任务的过程包括:
S310、获取定时任务代码。
S320、根据定时任务API标识,通过应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API。
S330、调用目标API根据定时任务代码创建定时任务,并将定时任务缓存在定时任务所属的目标对象中。
基于前述可知,系统的应用程序框架层可为开发者提供各种功能的API(Application Programming Interface,应用程序接口),例如,开发者设置定时任务时,可以调用应用程序框架层提供的定时任务API。
本公开实施方式中,通过重新编译应用程序框架层的定时任务API,使得应用程序框架层可以为应用程序层提供两种定时任务API,分别为全局定时任务API和页面定时任务API。
全局定时任务API是指应用级的定时任务接口,通过调用全局定时任务API设置的定时任务,被缓存在整个应用程序的全局,即通过调用全局定时任 务API设置应用级定时任务,并将应用级定时任务缓存在整个应用程序的全局。也即,通过调用全局定时任务API设置的定时任务,其存在于应用程序的生命周期内,只要应用程序的进程不销毁,定时任务即可一直被触发执行。
页面定时任务API是指页面级的定时任务接口,通过调用页面定时任务API设置的定时任务,被缓存在对应的页面对象上,即通过调用页面定时任务API设置页面级定时任务,并将页面级定时任务缓存在对应的页面对象上。也即,通过调用页面定时任务API设置的定时任务,其仅存在于当前页面对象的生命周期内,例如页面对象在前台运行时,缓存在该页面对象中的定时任务可以正常被触发执行;而在页面对象被隐藏至后台运行时,该定时任务被暂停;当页面对象被销毁时,该定时任务也被清除。
本公开实施方式中,在应用程序运行时,系统可读取应用程序对应的程序文件(Application File),得到各个定时任务对应的定时任务代码。定时任务代码中包括创建该定时任务所需的定时任务API标识,定时任务API标识用于表示创建该定时任务所调用的定时任务API接口。
以一个定时任务创建过程为例,通过解析该定时任务代码可以得到对应的定时任务API标识,系统根据该定时任务API标识,由全局定时任务API和页面定时任务API中确定目标API。
例如一个示例中,全局定时任务API对应的标识为第一标识,页面定时任务API对应的标识为第二标识。若系统获取的定时任务包括的定时任务API表示为第一标识,从而可以根据第一标识确定需要调用的定时任务API为全局定时任务API,也即确定全局定时任务API为目标API。若系统获取的定时任务包括的定时任务API表示为第二标识,从而可以根据第二标识确定需要调用的定时任务API为页面定时任务API,也即确定页面定时任务API为目标API。
系统根据定时任务API标识,由全局定时任务API和页面定时任务API中确定得到对应的目标API。然后,系统即可调用该目标API根据定时任务代码创建该定时任务,并将该定时任务缓存在所属的目标对象中。
例如一个示例中,目标API为全局定时任务API,通过调用全局定时任务API根据定时任务代码创建的定时任务A3即为应用级定时任务,然后可将该定时任务缓存在应用程序进程中,该定时任务可存在于应用程序的生命周 期中。
例如另一个示例中,目标API为页面定时任务API,通过调用页面定时任务API根据定时任务代码创建的定时任务A4即为页面级定时任务,然后可将该定时任务缓存在对应的页面对象内存中,该定时任务可存在于页面对象的生命周期中。
在一些实施方式中,全局定时任务API可包括SetGlobalTimeout接口和SetGlobalInterval接口。页面定时任务API可包括SetTimeout接口和SetInterval接口。
可以理解,本公开实施方式中,利用全局定时任务API和页面定时任务API对定时任务进行分级创建和管理,不同级别的定时任务缓存在不同的层级,例如属于某个页面对象的定时任务缓存在该页面对象中,而属于应用程序全局的定时任务缓存在应用程序中,使得定时任务的管理更加直观、高效。
通过上述可知,本公开实施方式中,通过将应用程序的定时任务进行分级管理,使得定时任务的管理更加准确、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
在一些实施方式中,本公开示例提供了一种定时任务管理装置,该装置可应用于电子设备。本公开实施方式中,电子设备可以是任何适于实施的设备类型,例如智能手机、平板电脑等,本公开对此不作限制。
如图4所示,在一些实施方式中,本公开示例的定时任务管理装置,包括:
类型确定模块10,被配置为响应于定时任务处于运行状态,确定定时任务对应的任务类型;
任务控制模块20,被配置为根据任务类型确定定时任务所属的目标对象,并根据目标对象的运行状态控制定时任务的运行。
通过上述可知,本公开实施方式中,通过将应用程序的定时任务进行分级管理,使得定时任务的管理更加准确、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
在一些实施方式中,任务控制模块20被配置为:
在根据任务类型确定定时任务所属的目标对象为页面对象的情况下,响应于页面对象切换至后台运行,暂停定时任务的运行;和/或,响应于页 面对象被销毁,清除定时任务。
在一些实施方式中,任务控制模块20被配置为:
在根据任务类型确定定时任务所属的目标对象为应用程序的情况下,响应于应用程序退出运行状态,清除定时任务。
在一些实施方式中,类型确定模块10被配置为:
响应于定时任务处于运行状态,获取定时任务的任务标识,根据任务标识确定定时任务的任务类型。
在一些实施方式中,本公开实施方式的装置,还包括任务创建模块,任务创建模块被配置为:
获取定时任务代码,定时任务代码中包括应用程序框架层的定时任务API标识;根据定时任务API标识,通过应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API;
调用目标API根据定时任务代码创建定时任务,并将定时任务缓存在定时任务所属的目标对象中。
通过上述可知,本公开实施方式中,利用全局定时任务API和页面定时任务API对定时任务进行分级创建和管理,不同级别的定时任务缓存在不同的层级,例如属于某个页面对象的定时任务缓存在该页面对象中,而属于应用程序全局的定时任务缓存在应用程序中,使得定时任务的管理更加直观、高效,降低定时任务被错误触发的风险,提高应用程序运行的稳定性和可靠性。
在一些实施方式中,本公开提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,计算机指令用于使处理器执行根据上述任意实施方式的方法。
在一些实施方式中,本公开提供了一种存储介质,存储有计算机指令,计算机指令用于使计算机执行上述任意实施方式的方法
图5中示出了本公开一些实施方式中的电子设备的结构框图,下面结合图5对本公开一些实施方式的电子设备及存储介质相关原理进行说明。
参照图5电子设备1800可以包括以下一个或多个组件:处理组件1802,存储器1804,电源组件1806,多媒体组件1808,音频组件1810,输入/输出 (I/O)接口1812,传感器组件1816,以及通信组件1818。
处理组件1802通常控制电子设备1800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1802可以包括一个或多个处理器1820来执行指令。此外,处理组件1802可以包括一个或多个模块,便于处理组件1802和其他组件之间的交互。例如,处理组件1802可以包括多媒体模块,以方便多媒体组件1808和处理组件1802之间的交互。又如,处理组件1802可以从存储器读取可执行指令,以实现电子设备相关功能。
存储器1804被配置为存储各种类型的数据以支持在电子设备1800的操作。这些数据的示例包括用于在电子设备1800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1806为电子设备1800的各种组件提供电力。电源组件1806可以包括电源管理系统,一个或多个电源,及其他与为电子设备1800生成、管理和分配电力相关联的组件。
多媒体组件1808包括在电子设备1800和用户之间的提供一个输出接口的显示屏。在一些实施例中,多媒体组件1808包括一个前置摄像头和/或后置摄像头。当电子设备1800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1810被配置为输出和/或输入音频信号。例如,音频组件1810包括一个麦克风(MIC),当电子设备1800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1804或经由通信组件1818发送。在一些实施例中,音频组件1810包括一个扬声器,用于输出音频信号。
I/O接口1812为处理组件1802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按 钮、音量按钮、启动按钮和锁定按钮。
传感器组件1816包括一个或多个传感器,用于为电子设备1800提供各个方面的状态评估。例如,传感器组件1816可以检测到电子设备1800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1800的显示器和小键盘,传感器组件1816可以检测电子设备1800或电子设备1800一个组件的位置改变,用户与电子设备1800接触的存在或不存在,电子设备1800方位或加速/减速和电子设备1800的温度变化。传感器组件1816可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1816可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1816可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1818被配置为便于电子设备1800和其他设备之间有线或无线方式的通信。电子设备1800可以接入基于通信标准的无线网络,如Wi-Fi,2G,3G,4G,5G或6G,或它们的组合。在一个示例性实施例中,通信组件1818经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1818包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。
Claims (12)
- 一种定时任务管理方法,其特征在于,包括:响应于定时任务处于运行状态,确定所述定时任务对应的任务类型;根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行。
- 根据权利要求1所述的方法,其特征在于,所述根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行,包括:在根据所述任务类型确定所述定时任务所属的目标对象为页面对象的情况下,响应于所述页面对象切换至后台运行,暂停所述定时任务的运行;和/或,响应于所述页面对象被销毁,清除所述定时任务。
- 根据权利要求1所述的方法,其特征在于,所述根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行,包括:在根据所述任务类型确定所述定时任务所属的目标对象为应用程序的情况下,响应于所述应用程序退出运行状态,清除所述定时任务。
- 根据权利要求1所述的方法,其特征在于,所述响应于定时任务处于运行状态,确定所述定时任务对应的任务类型,包括:响应于定时任务处于运行状态,获取所述定时任务的任务标识,根据所述任务标识确定所述定时任务的所述任务类型。
- 根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:获取定时任务代码,所述定时任务代码中包括应用程序框架层的定时任务API标识;根据所述定时任务API标识,通过所述应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API;调用所述目标API根据所述定时任务代码创建所述定时任务,并将所 述定时任务缓存在所述定时任务所属的目标对象中。
- 一种定时任务管理装置,其特征在于,包括:类型确定模块,被配置为响应于定时任务处于运行状态,确定所述定时任务对应的任务类型;任务控制模块,被配置为根据所述任务类型确定所述定时任务所属的目标对象,并根据所述目标对象的运行状态控制所述定时任务的运行。
- 根据权利要求6所述的装置,其特征在于,所述任务控制模块被配置为:在根据所述任务类型确定所述定时任务所属的目标对象为页面对象的情况下,响应于所述页面对象切换至后台运行,暂停所述定时任务的运行;和/或,响应于所述页面对象被销毁,清除所述定时任务。
- 根据权利要求6所述的装置,其特征在于,所述任务控制模块被配置为:在根据所述任务类型确定所述定时任务所属的目标对象为应用程序的情况下,响应于所述应用程序退出运行状态,清除所述定时任务。
- 根据权利要求6所述的装置,其特征在于,所述类型确定模块被配置为:响应于定时任务处于运行状态,获取所述定时任务的任务标识,根据所述任务标识确定所述定时任务的所述任务类型。
- 根据权利要求6至9任一项所述的装置,其特征在于,还包括任务创建模块,所述任务创建模块被配置为:获取定时任务代码,所述定时任务代码中包括应用程序框架层的定时任务API标识;根据所述定时任务API标识,通过所述应用程序框架层提供的全局定时任务API和页面定时任务API中确定目标API;调用所述目标API根据所述定时任务代码创建所述定时任务,并将所 述定时任务缓存在所述定时任务所属的目标对象中。
- 一种电子设备,其特征在于,包括:处理器;和存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据权利要求1至5任一项所述的方法。
- 一种存储介质,其特征在于,存储有计算机指令,所述计算机指令用于使计算机执行根据权利要求1至5任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/099934 WO2023245370A1 (zh) | 2022-06-20 | 2022-06-20 | 定时任务管理方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118043780A true CN118043780A (zh) | 2024-05-14 |
Family
ID=89378952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280004246.9A Pending CN118043780A (zh) | 2022-06-20 | 2022-06-20 | 定时任务管理方法、装置、电子设备以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118043780A (zh) |
WO (1) | WO2023245370A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887381A (zh) * | 2010-06-22 | 2010-11-17 | 北京伟库电子商务科技有限公司 | 基于Quartz框架的配置定时任务的方法和装置 |
US9135062B2 (en) * | 2013-04-09 | 2015-09-15 | National Instruments Corporation | Hardware assisted method and system for scheduling time critical tasks |
CN109992390B (zh) * | 2019-04-23 | 2021-05-18 | 广州裕睿信息科技有限公司 | 定时任务调度方法以及定时任务处理方法 |
CN112711474B (zh) * | 2021-01-12 | 2023-12-08 | 百果园技术(新加坡)有限公司 | 定时器管理方法、装置及电子设备 |
CN113791944B (zh) * | 2021-01-18 | 2024-08-16 | 北京京东拓先科技有限公司 | 页面定时器的监控方法、装置、介质及电子设备 |
CN113535353B (zh) * | 2021-06-29 | 2022-05-20 | 未鲲(上海)科技服务有限公司 | 定时任务调度方法、装置和计算机设备 |
CN114090217A (zh) * | 2021-11-26 | 2022-02-25 | 浩云科技股份有限公司 | 一种配置定时任务的方法、系统、设备和介质 |
-
2022
- 2022-06-20 CN CN202280004246.9A patent/CN118043780A/zh active Pending
- 2022-06-20 WO PCT/CN2022/099934 patent/WO2023245370A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023245370A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026396B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
US8103865B2 (en) | Server method and system for rendering content on a wireless device | |
CN110990105B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN114064024B (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN111026490B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN104281478B (zh) | 更新应用程序的方法及装置 | |
CN113220445A (zh) | 一种图像或视频数据获取方法及终端设备 | |
CN111026491A (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN110362371B (zh) | 视图层级的控制方法、装置及系统、计算机设备及介质 | |
CN110865863B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN111008057A (zh) | 页面展示方法、装置及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
CN114385162A (zh) | 页面编辑方法、装置、设备及存储介质 | |
CN111538574A (zh) | 任务堆栈的管理方法、装置、终端及存储介质 | |
CN111008050B (zh) | 页面任务执行方法、装置、终端及存储介质 | |
CN113010157A (zh) | 一种代码生成方法及装置 | |
CN110941464B (zh) | 一种轻曝光方法、设备、系统及存储介质 | |
CN118043780A (zh) | 定时任务管理方法、装置、电子设备以及存储介质 | |
CN115311051A (zh) | 用于房屋带看的页面展示方法、设备及存储介质 | |
CN112068895B (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
CN111580873B (zh) | 页面更新方法及装置、终端、存储介质 | |
WO2023245368A1 (zh) | 应用控制方法、装置、电子设备以及存储介质 | |
CN114546436A (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 |