一种定时方法及装置.pdf

上传人:a1 文档编号:6018809 上传时间:2019-04-03 格式:PDF 页数:12 大小:856.09KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610999432.7

申请日:

2016.11.14

公开号:

CN106775620A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/44申请日:20161114|||公开

IPC分类号:

G06F9/44

主分类号:

G06F9/44

申请人:

武汉斗鱼网络科技有限公司

发明人:

张磊

地址:

430000 湖北省武汉市东湖开发区软件园东路1号软件产业4.1期B1栋11楼

优先权:

专利代理机构:

北京超凡志成知识产权代理事务所(普通合伙) 11371

代理人:

唐维虎

PDF下载: PDF下载
内容摘要

本发明提供了一种定时方法及装置,该方法包括:在运行程序时实时检测程序中是否包含定时器函数;当检测到程序中包含定时器函数时,根据定时器函数携带的类型参数,确定当前定时任务所属的定时类型;根据定时器函数携带的定时参数,采用定时类型对应的定时方式执行当前定时任务。本发明将安卓常见的定时器分为短期和长期两种定时类型,开发人员不必掌握多种定时器的使用方法,只需明确需要短期定时还是长期定时,并设置好定时器函数的类型参数和定时参数即可,运行程序时自动根据定时器函数的类型参数确定出定时类型,并采用定时类型对应的定时方式进行定时,简化了开发人员对定时器的使用,降低了程序开发的复杂程度,降低了程序的维护难度。

权利要求书

1.一种定时方法,其特征在于,所述方法包括:
在运行程序时实时检测程序中是否包含定时器函数;
当检测到程序中包含定时器函数时,根据所述定时器函数携带的类型参数,确定当前
定时任务所属的定时类型;
根据所述定时器函数携带的定时参数,采用所述定时类型对应的定时方式执行所述当
前定时任务。
2.根据权利要求1所述的方法,其特征在于,当所述定时类型为短期类型时,所述根据
所述定时器函数携带的定时参数,采用所述定时类型对应的定时方式执行所述当前定时任
务,包括:
通过线程池开启定时线程;
将所述定时器函数携带的定时参数确定为休眠函数的参数;
通过所述定时线程执行所述休眠函数,对所述当前定时任务进行定时。
3.根据权利要求1所述的方法,其特征在于,当所述定时类型为长期类型时,所述根据
所述定时器函数携带的定时参数,采用所述定时类型对应的定时方式执行所述当前定时任
务,包括:
将所述定时器函数携带的定时参数确定为全局定时器AlarmManager中的重复闹钟函
数的参数;
调用所述AlarmManager中的所述重复闹钟函数,对所述当前定时任务进行定时。
4.根据权利要求1所述的方法,其特征在于,所述根据所述定时器函数携带的定时参
数,采用所述定时类型对应的定时方式执行所述当前定时任务之后,还包括:
在所述当前定时任务超时时,将所述定时器函数携带的事件参数封装到定时器超时信
息中;
调用广播发送函数将所述定时器超时信息发送至预设位置处。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当检测到所述预设位置处存在所述定时器超时信息时,从所述定时器超时信息中解析
出事件参数;
根据所述事件参数,确定定时超时的定时任务。
6.一种定时装置,其特征在于,所述装置包括:
检测模块,用于在运行程序时实时检测程序中是否包含定时器函数;
确定模块,用于当所述检测模块检测到程序中包含定时器函数时,根据所述定时器函
数携带的类型参数,确定当前定时任务所属的定时类型;
执行模块,用于根据所述定时器函数携带的定时参数,采用所述定时类型对应的定时
方式执行所述当前定时任务。
7.根据权利要求6所述的装置,其特征在于,当所述定时类型为短期类型时,所述执行
模块包括:
开启单元,用于通过线程池开启定时线程;
第一确定单元,用于将所述定时器函数携带的定时参数确定为休眠函数的参数;
第一定时单元,用于通过所述定时线程执行所述休眠函数,对所述当前定时任务进行
定时。
8.根据权利要求6所述的装置,其特征在于,当所述定时类型为长期类型时,所述执行
模块包括:
第二确定单元,用于将所述定时器函数携带的定时参数确定为全局定时器
AlarmManager中的重复闹钟函数的参数;
第二定时单元,用于调用所述AlarmManager中的所述重复闹钟函数,对所述当前定时
任务进行定时。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
超时广播模块,用于在所述当前定时任务超时时,将所述定时器函数携带的事件参数
封装到定时器超时信息中;调用广播发送函数将所述定时器超时信息发送至预设位置处。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
任务确定模块,用于当检测到所述预设位置处存在所述定时器超时信息时,从所述定
时器超时信息中解析出事件参数;根据所述事件参数,确定定时超时的定时任务。

说明书

一种定时方法及装置

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种定时方法及装置。

背景技术

目前,开发人员在进行安卓开发的过程中经常会使用到定时器,安卓系统提供了
多种定时器。例如,采用Handler(管理者)与线程的sleep(休眠)方法的定时器,采用
Handler的postDelayed(延迟)方法的定时器,采用Handler与timer(定时器)及TimerTask
(定时器任务)结合方法的定时器,及AlarmManager(全局定时器)等。

由于安卓系统提供的定时器种类繁多,开发人员在使用定时器之前,需要花费大
量的时间学习和掌握各种定时器的使用方法,导致灵活使用定时器的时间成本很高。使用
多种定时器,也造成了开发程序的复杂程度,使得开发人员在开发程序时关于定时器的处
理变得复杂多变,且随着程序使用的定时器种类增多,程序的维护难度增大。

发明内容

有鉴于此,本发明实施例的目的在于提供一种定时方法及装置,将安卓常见的定
时器分为短期和长期两种定时类型,开发人员不必掌握多种定时器的使用方法,只需明确
需要短期定时还是长期定时,并设置好定时器函数的类型参数和定时参数即可,运行程序
时自动根据定时器函数的类型参数确定出定时类型,并采用定时类型对应的定时方式进行
定时。

第一方面,本发明实施例提供了一种定时方法,所述方法包括:

在运行程序时实时检测程序中是否包含定时器函数;

当检测到程序中包含定时器函数时,根据所述定时器函数携带的类型参数,确定
当前定时任务所属的定时类型;

根据所述定时器函数携带的定时参数,采用所述定时类型对应的定时方式执行所
述当前定时任务。

结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其
中,当所述定时类型为短期类型时,所述根据所述定时器函数携带的定时参数,采用所述定
时类型对应的定时方式执行所述当前定时任务,包括:

通过线程池开启定时线程;

将所述定时器函数携带的定时参数确定为休眠函数的参数;

通过所述定时线程执行所述休眠函数,对所述当前定时任务进行定时。

结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其
中,当所述定时类型为长期类型时,所述根据所述定时器函数携带的定时参数,采用所述定
时类型对应的定时方式执行所述当前定时任务,包括:

将所述定时器函数携带的定时参数确定为全局定时器AlarmManager中的重复闹
钟函数的参数;

调用所述AlarmManager中的所述重复闹钟函数,对所述当前定时任务进行定时。

结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其
中,所述根据所述定时器函数携带的定时参数,采用所述定时类型对应的定时方式执行所
述当前定时任务之后,还包括:

在所述当前定时任务超时时,将所述定时器函数携带的事件参数封装到定时器超
时信息中;

调用广播发送函数将所述定时器超时信息发送至预设位置处。

结合第一方面的第三种可能的实现方式,本发明实施例提供了上述第一方面的第
四种可能的实现方式,其中,所述方法还包括:

当检测到所述预设位置处存在所述定时器超时信息时,从所述定时器超时信息中
解析出事件参数;

根据所述事件参数,确定定时超时的定时任务。

第二方面,本发明实施例提供了一种定时装置,所述装置包括:

检测模块,用于在运行程序时实时检测程序中是否包含定时器函数;

确定模块,用于当所述检测模块检测到程序中包含定时器函数时,根据所述定时
器函数携带的类型参数,确定当前定时任务所属的定时类型;

执行模块,用于根据所述定时器函数携带的定时参数,采用所述定时类型对应的
定时方式执行所述当前定时任务。

结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其
中,当所述定时类型为短期类型时,所述执行模块包括:

开启单元,用于通过线程池开启定时线程;

第一确定单元,用于将所述定时器函数携带的定时参数确定为休眠函数的参数;

第一定时单元,用于通过所述定时线程执行所述休眠函数,对所述当前定时任务
进行定时。

结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其
中,当所述定时类型为长期类型时,所述执行模块包括:

第二确定单元,用于将所述定时器函数携带的定时参数确定为全局定时器
AlarmManager中的重复闹钟函数的参数;

第二定时单元,用于调用所述AlarmManager中的所述重复闹钟函数,对所述当前
定时任务进行定时。

结合第二方面,本发明实施例提供了上述第二方面的第三种可能的实现方式,其
中,所述装置还包括:

超时广播模块,用于在所述当前定时任务超时时,将所述定时器函数携带的事件
参数封装到定时器超时信息中;调用广播发送函数将所述定时器超时信息发送至预设位置
处。

结合第二方面的第三种可能的实现方式,本发明实施例提供了上述第二方面的第
四种可能的实现方式,其中,所述装置还包括:

任务确定模块,用于当检测到所述预设位置处存在所述定时器超时信息时,从所
述定时器超时信息中解析出事件参数;根据所述事件参数,确定定时超时的定时任务。

在本发明实施例提供的方法及装置中,在运行程序时实时检测程序中是否包含定
时器函数;当检测到程序中包含定时器函数时,根据定时器函数携带的类型参数,确定当前
定时任务所属的定时类型;根据定时器函数携带的定时参数,采用定时类型对应的定时方
式执行当前定时任务。本发明将安卓常见的定时器分为短期和长期两种定时类型,开发人
员不必掌握多种定时器的使用方法,只需明确需要短期定时还是长期定时,并设置好定时
器函数的类型参数和定时参数即可,运行程序时自动根据定时器函数的类型参数确定出定
时类型,并采用定时类型对应的定时方式进行定时,简化了开发人员对定时器的使用,降低
了程序开发的复杂程度,降低了程序的维护难度。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合
所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通开发人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的一种定时方法流程图;

图2示出了本发明实施例1所提供的一种短期定时的流程示意图;

图3示出了本发明实施例1所提供的一种长期定时的流程示意图;

图4示出了本发明实施例2所提供的一种定时装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实
施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的
实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实
施例。基于本发明的实施例,本领域开发人员在没有做出创造性劳动的前提下所获得的所
有其他实施例,都属于本发明保护的范围。

考虑到现有技术中,安卓系统提供的定时器种类繁多,开发人员在使用定时器之
前,需花费大量时间学习和掌握各种定时器的使用方法,导致灵活使用定时器的时间成本
很高。且多种定时器增加开发程序的复杂程度,使开发人员在开发程序时关于定时器的处
理变得复杂多变,且随着程序使用的定时器种类增多,程序的维护难度增大。基于此,本发
明实施例提供了一种定时方法及装置,下面通过实施例进行描述。

实施例1

本发明实施例提供了一种定时方法。

在安卓开发过程中,经常使用定时器。安卓提供的定时器大致有以下四种:

(1)、采用Handler(处理机)与线程的休眠函数sleep()的定时方式

Handler是用于主线程和子线程之间通信的一个类,可以开启一个子线程,在该子
线程里执行休眠函数sleep(),当休眠时间完成后通过Handler通知主线程定时器超时。

在使用该定时器时,可以通过调节休眠函数sleep()的休眠时间来调整定时长度,
从而实现定时功能。但是若休眠时间太长,则可能会引起内存泄漏,导致应用部分内存无法
释放。另外,在系统进入休眠状态时,由于系统已经休眠,因此该定时器无法执行定时任务。
所以该定时器的主要使用场景是进行短期定时的定时任务。对于长期定时的定时任务,该
定时器有一定的局限性甚至无法完成定时。

(2)、采用Handler的后延迟函数postDelayed()的定时方式

该定时器的定时原理与上述第(1)种定时器的定时原理类似,只是通过后延迟函
数postDelayed()将休眠函数sleep()进行了一层封装,在该定时器中只需传入时间参数
就能够完成定时器的功能。该定时器由于思想逻辑与第(1)种定时器类似,所以其主要使用
场景也是进行短期定时的定时任务。

(3)、采用Handler与timer(定时器)及TimerTask(定时器任务)结合的定时方式

Handler与timer及TimerTask结合的使用,相比于第(1)和(2)种定时方式的优势
在于定时任务不是基于休眠方式来记录时间的,而是通过系统提供的定时器Timer来记录
定时信息的,所以这种定时方式不会造成内存泄漏,但是也无法避免因为系统休眠而导致
定时器失效的问题,所以该定时方式也只能应用于短期定时的定时任务。

(4)、AlarmManager(全局定时器)

在使用AlarmManager时,在系统休眠状态下若定时器超时了,则会自动唤醒系统
来触发定时任务。AlarmManager具有唤醒CPU(Central Processing Unit,中央处理器)的
功能,可以保证每次需要执行特定任务时CPU都能正常工作,因此AlarmManager既可以适用
于短期定时的定时任务,也能够适用于长期定时的定时任务。

通过上述描述可知,第(1)、(2)和(3)种定时器均为基于Handler的定时器,系统休
眠后将不可用,只能适用于短期定时的定时任务。第(4)种定时器是基于AlarmManager的定
时器,系统休眠后仍可用,既适用于短期定时的定时任务,也适用于长期定时的定时任务。

基于上述多种定时器,本发明实施例将定时任务划分为短期类型和长期类型两种
定时类型,并通过一个全局的定时器函数SetGlobalTimer()对定时器进行统一的封装,根
据定时器函数SetGlobalTimer()携带的类型参数,采用该类型参数对应的定时方式处理
定时任务。

参见图1,该方法具体包括以下步骤:

步骤101:在运行程序时实时检测程序中是否包含定时器函数。

开发人员在进行安卓开发时,在需要使用定时器执行定时任务时,明确该定时任
务为长期定时任务还是短期定时任务,在程序中编写定时器函数SetGlobalTimer(),并为
定时器函数SetGlobalTimer()的各个参数进行赋值。

在本发明实施例中,定时器函数的参数包括类型参数、定时参数和事件参数,定时
器函数SetGlobalTimer()的具体函数设计如下:

SetGlobalTimer(int type,long startTime,long intervalTime,int counts,
string event)

其中,type为类型参数,int表示类型参数type的数据类型为整型。Type的取值用
于区分定时任务为短期类型还是长期类型。由于定时器可被划分为两大类,其一是基于
Handler的定时器,其二是基于AlarmManager的定时器,所以本发明实施例中type的取值可
以为TYPE_HANDLER或TYPE_ALARM_MANAGER。

TYPE_HANDLER为定义的一个常数,常数值可以预设为0或1等,用于表示当前定时
任务的定时类型为短期类型,所需使用的定时器是基于Handler来实现的定时器。

TYPE_ALARM_MANAGER为定义的另一个常数,常数值可以预设为2或3等,用于表示
当前定时任务的定时类型为长期类型,所需十一号的定时器是基于AlarmManager来实现的
定时器。

在定时器函数SetGlobalTimer()中,参数startTime、intervalTime和counts为定
时参数。其中,参数startTime的数据类型为长整型long,表示闹钟的第一次执行时间,以毫
秒为单位。参数intervalTime的数据类型也是长整型long,表示两次闹钟执行的时间间隔,
也是以毫秒为单位。参数counts的数据类型为整型int,表示定时器执行的次数,即定时任
务重复执行的次数。

参数event为定时器函数SetGlobalTimer()的事件参数,其数据类型为字符类型
string,表示定时任务。

开发人员在编写程序时,在需要执行定时任务的位置处调用定时器函数
SetGlobalTimer(),并为类型参数和定时函数赋值。在编译运行程序时,终端实时检测当
前运行的程序中是否包含定时器函数,当检测到当前运行的程序中包含定时器函数时,通
过如下步骤102和103的操作来执行该定时器函数对应的当前定时任务。

步骤102:当检测到程序中包含定时器函数时,根据定时器函数携带的类型参数,
确定当前定时任务所属的定时类型。

当检测到程序中包含定时函数时,从该定时器函数中获取其携带的类型参数type
的取值,若类型参数type的取值为TYPE_HANDLER,则确定当前定时任务所属的定时类型为
短期类型。若类型参数type的取值为TYPE_ALARM_MANAGER,则确定当前定时任务所属的定
时类型为长期类型。

步骤103:根据定时器函数携带的定时参数,采用定时类型对应的定时方式执行当
前定时任务。

当检测到程序中包含定时函数时,还从该定时器函数中获取其携带的定时参数
startTime、intervalTime和counts。当步骤102确定出当前定时任务所属的定时类型为短
期类型时,通过如下方式来执行当前定时任务,具体包括:

通过线程池开启定时线程;将定时器函数携带的定时参数确定为休眠函数的参
数;通过定时线程执行休眠函数,对当前定时任务进行定时。

为了防止定时任务影响主线程的运行,本发明实施例在子线程中执行定时过程。
且为了方便对线程的管理,使用线程池来进行子线程的开启,且通过线程池来开启定时线
程,避免了不断创建新线程的操作,节省了系统资源,避免对吸烟造成一定的压力和性能开
销。

本发明实施例中,对于短期类型的定时任务,使用JDK(Java Development Kit,脚
本语言的软件开发工具包)提供的休眠函数sleep()实现整个计时过程。定时线程执行休
眠函数sleep()时,该定时线程会处于等待状态,只有当休眠函数sleep()计时完成后才能
执行后续操作。

当步骤102确定出当前定时任务所属的定时类型为长期类型时,通过如下方式来
执行当前定时任务,具体包括:

将定时器函数携带的定时参数确定为AlarmManager中的重复闹钟函数
setRepeating()的参数;调用AlarmManager中的重复闹钟函数setRepeating(),对当前定
时任务进行定时。

将定时参数startTime、intervalTime和counts传递给重复闹钟函数
setRepeating(),通过AlarmManager提供的该重复闹钟函数setRepeating()来实现当前
定时任务的整个定时过程。

在本发明实施例中,不管当前定时任务的定时类型为短期类型还是长期类型,在
执行当前定时任务的过程中,需要实时判断定时是否超时,在当前定时任务超时时,将定时
器函数携带的事件参数event封装到定时器超时信息中;调用广播发送函数将定时器超时
信息发送至预设位置处。

当定时任务超时后,通过广播的形式将定时器超时信息广播出去。所有的定时超
时信息都广播至预设位置处,这样能够有效的保证所有的定时器的处理都能够在同一个地
方进行处理,能够提高程序的可维护性和健壮性。由于定时超时后的任务是在同一个文件
中处理的,所以需要区分不同的定时任务,将事件参数event封装到定时超时信息中进行广
播,这样广播接收的地方可以通过event的不同来判定不同的定时任务。

安卓系统提供了一个广播发送函数sendBroadcast(Intgent)来进行广播发送。其
中,参数Intgent用来存放广播需要携带的数据。本发明实施例将事件参数event存储到
Intent中,具体存储方式是调用Intent中的函数putExtra(),将事件参数event存储到
Intent中。然后再调用广播发送函数sendBroadcast(Intgent)将广播发送出去。

终端实时检测预设位置处是否存在定时器超时信息,当检测到预设位置处存在定
时器超时信息时,从定时器超时信息中解析出事件参数event;根据事件参数event,确定定
时超时的定时任务。

上述解析出事件参数event的具体解析过程是通过调用event中的函数getExtra
()来获取传递过来的事件参数event。

在本发明实施例中,若当前定时任务为多次定时,则每执行一次定时操作就将定
时参数Counts的值减1。当定时超时时,根据定时参数Counts的值来判断定时是否完成,如
果Counts的值大于0,则需继续重复定时任务。如果Counts的值为0,则确定当前定时任务已
经完成了,不再需要进一步处理了。

在本发明实施例中,将定时任务划分为短期类型和长期类型,对于不同类型的定
时任务,采用不同的定时方式进行定时。如图2所示短期定时的流程示意图,当定时任务所
属的定时类型为短期类型时,线程池启动定时线程,通过该定时线程执行休眠函数sleep
(),当定时超时时,广播全局通知,然后判断当前定时任务是否为多次定时,如果是,则返
回继续执行休眠函数sleep()进行定时。如果否,则确定定时完成。

如图3所示的长期定时的流程示意图,当定时任务所属的定时类型为长期类型时,
执行重复闹钟函数setRepeating()进行定时计数,当定时超时时,广播全局通知。

本发明实施例将安卓中常见的定时器方案进行统一处理,根据用户在定时器函数
中传入的不同参数来实现不同的定时任务。同时还在定时超时后对定时超时信息进行了统
一的广播通知,规范了各个定时器任务到达后的通知处理逻辑。通过对系统各种定时器的
集成和定时任务到达的通知优化,使开发人员能够非常方便的使用系统中的任何一个定时
任务,并且处理所有这些定时任务的地方也是固定的,使得开发的程序结构更清晰,更容易
后期进行维护和扩展。

在本发明实施例中,在运行程序时实时检测程序中是否包含定时器函数;当检测
到程序中包含定时器函数时,根据定时器函数携带的类型参数,确定当前定时任务所属的
定时类型;根据定时器函数携带的定时参数,采用定时类型对应的定时方式执行当前定时
任务。本发明将安卓常见的定时器分为短期和长期两种定时类型,开发人员不必掌握多种
定时器的使用方法,只需明确需要短期定时还是长期定时,并设置好定时器函数的类型参
数和定时参数即可,运行程序时自动根据定时器函数的类型参数确定出定时类型,并采用
定时类型对应的定时方式进行定时,简化了开发人员对定时器的使用,降低了程序开发的
复杂程度,降低了程序的维护难度。

实施例2

参见图4,本发明实施例提供了一种定时装置,用于执行上述实施例1所提供的定
时方法。该装置具体包括:

检测模块201,用于在运行程序时实时检测程序中是否包含定时器函数;

确定模块202,用于当检测模块201检测到程序中包含定时器函数时,根据定时器
函数携带的类型参数,确定当前定时任务所属的定时类型;

执行模块203,用于根据定时器函数携带的定时参数,采用定时类型对应的定时方
式执行当前定时任务。

当定时类型为短期类型时,执行模块203包括:

开启单元,用于通过线程池开启定时线程;

第一确定单元,用于将定时器函数携带的定时参数确定为休眠函数的参数;

第一定时单元,用于通过定时线程执行休眠函数,对当前定时任务进行定时。

当定时类型为长期类型时,执行模块203包括:

第二确定单元,用于将定时器函数携带的定时参数确定为全局定时器
AlarmManager中的重复闹钟函数setRepeating的参数;

第二定时单元,用于调用AlarmManager中的setRepeating,对当前定时任务进行
定时。

在本发明实施例中,该装置还包括:

超时广播模块,用于在当前定时任务超时时,将定时器函数携带的事件参数封装
到定时器超时信息中;调用广播发送函数将定时器超时信息发送至预设位置处。

任务确定模块,用于当检测到预设位置处存在定时器超时信息时,从定时器超时
信息中解析出事件参数;根据事件参数,确定定时超时的定时任务。

在本发明实施中,在运行程序时实时检测程序中是否包含定时器函数;当检测到
程序中包含定时器函数时,根据定时器函数携带的类型参数,确定当前定时任务所属的定
时类型;根据定时器函数携带的定时参数,采用定时类型对应的定时方式执行当前定时任
务。本发明将安卓常见的定时器分为短期和长期两种定时类型,开发人员不必掌握多种定
时器的使用方法,只需明确需要短期定时还是长期定时,并设置好定时器函数的类型参数
和定时参数即可,运行程序时自动根据定时器函数的类型参数确定出定时类型,并采用定
时类型对应的定时方式进行定时,简化了开发人员对定时器的使用,降低了程序开发的复
杂程度,降低了程序的维护难度。

本发明实施例所提供的定时装置可以为设备上的特定硬件或者安装于设备上的
软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实
施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
所属领域的开发人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单
元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存
储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第
一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明
的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发
明进行了详细的说明,本领域的普通开发人员应当理解:任何熟悉本技术领域的开发人员
在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻
易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护
范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

一种定时方法及装置.pdf_第1页
第1页 / 共12页
一种定时方法及装置.pdf_第2页
第2页 / 共12页
一种定时方法及装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种定时方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种定时方法及装置.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明提供了一种定时方法及装置,该方法包括:在运行程序时实时检测程序中是否包含定时器函数;当检测到程序中包含定时器函数时,根据定时器函数携带的类型参数,确定当前定时任务所属的定时类型;根据定时器函数携带的定时参数,采用定时类型对应的定时方式执行当前定时任务。本发明将安卓常见的定时器分为短期和长期两种定时类型,开发人员不必掌握多种定时器的使用方法,只需明确需要短期定时还是长期定时,并设置好定时器函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1