CN114428531A - 一种App上统一计时的方法 - Google Patents
一种App上统一计时的方法 Download PDFInfo
- Publication number
- CN114428531A CN114428531A CN202210088610.6A CN202210088610A CN114428531A CN 114428531 A CN114428531 A CN 114428531A CN 202210088610 A CN202210088610 A CN 202210088610A CN 114428531 A CN114428531 A CN 114428531A
- Authority
- CN
- China
- Prior art keywords
- timing
- app
- service
- timer
- time
- 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
- 238000000034 method Methods 0.000 title claims description 39
- 230000007246 mechanism Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 5
- 230000032683 aging Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及一种App上统一计时的机制,属于软件系统应用领域。本申请包括:在App启动时,创建一个全局定时器,所述全局定时器用于管控所述APP中所有计时事件;控制所述全局定时器每隔第一预设时长,向APP中所有需要计时的业务模块,发射一次计时事件,以使所述业务模块根据业务需要,对所述计时事件进行计时展示。本发明方案,可以实现一个统一的时间计时器,保证App中只有一个计时器在运行,同时又可以满足不同点不同业务需求的计时功能,降低同时运行多个计时器对App性能的影响。
Description
技术领域
本申请属于软件系统应用领域,具体涉及一种App上统一计时的方法。
背景技术
移动端App上有时需要开发定时器功能,例如软件中时效件的签收倒计时,2小时列表中的订单的取件倒计时等。
移动端App中常有定时或计时的需求场景,为实现这些计时需求,通常是实现许多定时器来实现业务中的不同计时功能。
通常App均是使用多定时器来实现业务中不同的计时功能,这样便会使App同时维护多个定时器功能,进而导致App的内存和CPU的消耗会很高,会降低App的性能。
发明内容
为此,本发明提供一种App上统一计时的方法,可以解决App中使用多个定时器导致App内存和CPU消耗高的问题,为实现上述目的,本申请采用如下技术方案:
本申请提供一种App上统一计时的方法,应用于移动终端,包括:
在App启动时,创建一个全局定时器,所述全局定时器用于管控所述APP中所有计时事件;
控制所述全局定时器每隔第一预设时长,向APP中所有需要计时的业务模块,发射一次计时事件,以使所述业务模块根据业务需要,对所述计时事件进行计时展示。
进一步地,所述创建一个全局定时器,包括:
通过scheduleAtFixedRate API或Timer或Handler或AlarmManager闹钟服务,创建一个全局定时器。
进一步地,其特征在于,还包括:
所述全局定时器部署在所述移动终端的后台服务中;
所述创建一个全局定时器,具体为:
在App启动时,通过启动该后台服务,创建并初始化一个全局定时器;
所述方法,还包括:
在App退出时,销毁该后台服务及全局定时器。
进一步地,所述发射一次计时事件,包括:
以广播模式或观察者模式,发射一次计时事件;
所述广播模式通过所述移动终端自身的广播机制或者eventBus实现。
进一步地,还包括:
所述业务模块每隔第二预设时长,接收所述计时事件;和/或,
所述业务模块每隔第三预设时长,刷新计时并展示数据。
进一步地,所述第一预设时长与所述第二预设时长可以相等,也可以不相等;
所述第三预设时长大于或等于所述第二预设时长。
进一步地,所述业务模块根据业务需要,对所述计时事件进行计时展示,至少包括:
根据正计时展示规则,对所述计时事件进行计时展示;
根据倒计时展示规则,对所述计时事件进行计时展示。
进一步地,所述根据正计时展示规则,对所述计时事件进行计时展示,包括:
用当前时间-开始时间=时间间隔,将时间间隔做计时展示。
进一步地,所述根据倒计时展示规则,对所述计时事件进行计时展示,包括:
用结束时间-当前时间=时间间隔,将时间间隔做计时展示。
进一步地,所述方法至少应用于以下操作系统,包括:
Android操作系统、iOS操作系统和塞班操作系统;
所述操作系统加载在所述移动终端中。
本申请采用以上技术方案,至少具备以下有益效果:
本发明采用了全局性的统一的定时器,能够在App运行过程中仅使用一个定时器便可完成整个App的定时计时功能,首先在App启动时,创建一个全局定时器,所述全局定时器用于管控所述APP中所有计时事件;控制所述全局定时器每隔第一预设时长,向APP中所有需要计时的业务模块,发射一次计时事件,以使所述业务模块根据业务需要,对所述计时事件进行计时展示。每一个业务模块若需要计时展示或计时功能,则接收定时器发出的计时事件,这些需要计时的业务模块可以根据业务需求做不同时间格式展示或者做其他业务处理。通过采用该方法,能够使App中只有一个定时器,降低了开发、维护定时器的成本,同时降低了定时器对App性能的损耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种App上统一计时的方法步骤示意图;
图2为一种App上统一计时的方法的详细流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
为了至少解决本发明中提出的技术问题,结合附图1详细说明本发明一种实施例。
步骤S11、在App启动时,创建一个全局定时器,所述全局定时器用于管控所述APP中所有计时事件;
步骤S12、控制所述全局定时器每隔第一预设时长,向APP中所有需要计时的业务模块,发射一次计时事件,以使所述业务模块根据业务需要,对所述计时事件进行计时展示。
通过上述实施例,能够实现在App运行过程中,只存在一个App,从而降低了定时器对App性能的损耗。上述技术方案中,首先在App启动时创建一个全局性的定时器,该全局性定时器能够给该App中的全部业务模块发送计时事件,传统定时器是在App中某个业务模块需要计时的时候,生成一个定时器来满足计时功能,这样做的弊端是,若同时多个业务模块需要计时功能,则App需要生成多个定时器来满足所述业务模块的计时功能,而通过全局定时器,能够给全部业务模块发送计时事件,需要计时的业务模块则接收计时事件。该全局定时器可以每隔预设时间便发射计时事件,例如预设时间可以是1秒钟,则全局定时器每隔1秒钟会发送一次计时事件。当App中有业务模块用到计时功能时,可以接收所述的计时事件,用于完成该业务模块的计时功能,所述业务模块可以根据需求来进行相应的计时展示。
进一步地,所述创建一个全局定时器,包括:
通过scheduleAtFixedRate API或Timer或Handler或AlarmManager闹钟服务,创建一个全局定时器。
所述scheduleAtFixedRate API或Timer或Handler或AlarmManager均是定时器的实现方式。
通过上述实施例,该全局定时器可以通过Android线程池scheduleAtFixedRateAPI或Timer或Handler或AlarmManager闹钟服务来实现。
进一步地,所述方法还包括:
所述全局定时器部署在所述移动终端的后台服务中;
所述创建一个全局定时器,具体为:
在App启动时,通过启动该后台服务,创建并初始化一个全局定时器;
所述方法,还包括:
在App退出时,销毁该后台服务及全局定时器。
通过上述实施例,可以在该App启动时,自动创建一个全局性的定时器,并且该定时器放在一个Android后台服务中,在该App启动的同时,启动该后台服务,并且对创建的定时器进行初始化;在App退出时,能够自动销毁该后台服务以及创建的定时器。该技术方案能够保证定时器能够及时的创建,且在App使用完毕后及时销毁,更加降低了定时器对App性能的损耗。
进一步地,所述发射一次计时事件,包括:
以广播模式或观察者模式,发射一次计时事件;
所述广播模式通过所述移动终端自身的广播机制或者eventBus实现。
通过上述实施例,能够保证全局性的定时器给全部业务模块发送计时事件。所述定时器的广播模式可以通过移动终端自身的广播机制实现,移动终端自身的广播机制是移动终端自身的系统中用于发送和接收广播消息的一种手段,该定时器为广播机制的发送者,所需业务模块为该广播机制的接收者,通过广播机制,能够使计时事件的发送与接收更加准确。而eventBus分离了事件的发送者和接收者,能够使得代码更简洁,性能更好。
进一步地,所述方法还包括:
所述业务模块每隔第二预设时长,接收所述计时事件;和/或,
所述业务模块每隔第三预设时长,刷新计时并展示数据。
通过上述实施例,能够使业务模块的计时展示更加及时,避免因为数据刷新的延迟而产生影响。
进一步地,所述第一预设时长与所述第二预设时长可以相等,也可以不相等;
所述第三预设时长大于或等于所述第二预设时长。
进一步地,所述业务模块根据业务需要,对所述计时事件进行计时展示,至少包括:
根据正计时展示规则,对所述计时事件进行计时展示;
根据倒计时展示规则,对所述计时事件进行计时展示。
进一步地,所述根据正计时展示规则,对所述计时事件进行计时展示,包括:
用当前时间-开始时间=时间间隔,将时间间隔做计时展示。
进一步地,所述根据倒计时展示规则,对所述计时事件进行计时展示,包括:
用结束时间-当前时间=时间间隔,将时间间隔做计时展示。
通过上述实施例,所述计时展示可以为展示正计时,则所述业务模块可以定义一个开始时间,展示正计时的计算公式则为当前时间-开始时间=时间间隔,则时间间隔即为展示正计时,将时间间隔定义为计时展示。所述计时展示可以为倒计时,则所述业务模块可以定义一个结束时间,展示倒计时的计算公式为结束时间-当前时间=时间间隔,则时间间隔即为展示倒计时,将时间间隔定义为计时展示。这些展示计时的业务模块也会以一定的时间间隔刷新计时数据,优选的,业务模块可以根据业务需要降低接受事件的频次。
优选的,这些需要计时的业务模块可以根据业务需求做不同时间格式展示或者做其他业务处理。
进一步地,所述方法至少应用于以下操作系统,包括:
Android操作系统、iOS操作系统和班赛操作系统;
所述操作系统加载在所述移动终端中。
请参阅图2,图2是一种App上统一计时的方法的详细流程图,首先在App中创建一个全局性的定时器,该定时器可以通过Android线程池scheduleAtFixedRate API或Timer或Handler或AlarmManager闹钟服务实现。所述全局性的定时器每隔预设时间不断的发射计时事件,该预设时间可以是1秒钟,并且时间间隔可以根据业务需求进行调整,且计时事件可以通过广播(Android的广播机制或者eventBus等)或者观察者模式发射。App中需要计时的业务模块接收全局性定时器发射来的计时事件,并处理相应的计时任务。计时任务可以根据业务需求进行设置,若展示正计时,可用当前时间-开始时间=时间间隔,将时间间隔做计时展示;或者倒计时,可以用结束时间-当前时间=时间间隔,将时间间隔做计时展示。
同时,本申请提供的技术方案不仅仅适用于Android App端,同样适用于iOS App端,或者其他系统。
通过上述实施例,可以使整个App中存在一个统一的全局性的定时器,用来处理整个App的计时任务。App中存在唯一一个定时器,可以降低开发、维护定时器的时间与成本,同时降低了定时器对App性能的损耗。传统的做法是在App中每个需求点都要有一个单独的定时器,如此做会出现多个定时器同时运行,会对App的性能产生影响,本申请通过使用一个统一的全局性的定时器来处理计时任务,解决了上述传统做法会出现的问题,进而提升App的性能。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种App上统一计时的方法,应用于移动终端,其特征在于,包括:
在App启动时,创建一个全局定时器,所述全局定时器用于管控所述APP中所有计时事件;
控制所述全局定时器每隔第一预设时长,向APP中所有需要计时的业务模块,发射一次计时事件,以使所述业务模块根据业务需要,对所述计时事件进行计时展示。
2.根据权利要求1所述的方法,其特征在于,所述创建一个全局定时器,包括:
通过scheduleAtFixedRate API或Timer或Handler或AlarmManager闹钟服务,创建一个全局定时器。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述全局定时器部署在所述移动终端的后台服务中;
所述创建一个全局定时器,具体为:
在App启动时,通过启动该后台服务,创建并初始化一个全局定时器;
所述方法,还包括:
在App退出时,销毁该后台服务及全局定时器。
4.根据权利要求1所述的方法,其特征在于,所述发射一次计时事件,包括:
以广播模式或观察者模式,发射一次计时事件;
所述广播模式通过所述移动终端自身的广播机制或者eventBus实现。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述业务模块每隔第二预设时长,接收所述计时事件;和/或,
所述业务模块每隔第三预设时长,刷新计时并展示数据。
6.根据权利要求5所述的方法,其特征在于;
所述第一预设时长与所述第二预设时长可以相等,也可以不相等;
所述第三预设时长大于或等于所述第二预设时长。
7.根据权利要求1所述的方法,其特征在于,所述业务模块根据业务需要,对所述计时事件进行计时展示,至少包括:
根据正计时展示规则,对所述计时事件进行计时展示;
根据倒计时展示规则,对所述计时事件进行计时展示。
8.根据权利要求7所述的方法,其特征在于,所述根据正计时展示规则,对所述计时事件进行计时展示,包括:
用当前时间-开始时间=时间间隔,将时间间隔做计时展示。
9.根据权利要求7所述的方法,其特征在于,所述根据倒计时展示规则,对所述计时事件进行计时展示,包括:
用结束时间-当前时间=时间间隔,将时间间隔做计时展示。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法至少应用于以下操作系统,包括:
Android操作系统、iOS操作系统和塞班操作系统;
所述操作系统加载在所述移动终端中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088610.6A CN114428531A (zh) | 2022-01-25 | 2022-01-25 | 一种App上统一计时的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088610.6A CN114428531A (zh) | 2022-01-25 | 2022-01-25 | 一种App上统一计时的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114428531A true CN114428531A (zh) | 2022-05-03 |
Family
ID=81313832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088610.6A Pending CN114428531A (zh) | 2022-01-25 | 2022-01-25 | 一种App上统一计时的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114428531A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552446B1 (en) * | 2003-12-31 | 2009-06-23 | Emc Corporation | Methods and apparatus for a timer event service infrastructure |
CN109934327A (zh) * | 2019-02-18 | 2019-06-25 | 星汉智能科技股份有限公司 | 一种智能卡的计时方法及系统 |
CN110413332A (zh) * | 2018-04-26 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 定时任务执行方法、装置、终端及计算机可读介质 |
CN111738813A (zh) * | 2020-01-20 | 2020-10-02 | 山东佳联电子商务有限公司 | 一种点拍网的网络产权系统交易倒计时方法 |
CN112650567A (zh) * | 2020-12-22 | 2021-04-13 | 平安普惠企业管理有限公司 | 全局通用定时器的实现方法、装置以及计算机设备 |
-
2022
- 2022-01-25 CN CN202210088610.6A patent/CN114428531A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552446B1 (en) * | 2003-12-31 | 2009-06-23 | Emc Corporation | Methods and apparatus for a timer event service infrastructure |
CN110413332A (zh) * | 2018-04-26 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 定时任务执行方法、装置、终端及计算机可读介质 |
CN109934327A (zh) * | 2019-02-18 | 2019-06-25 | 星汉智能科技股份有限公司 | 一种智能卡的计时方法及系统 |
CN111738813A (zh) * | 2020-01-20 | 2020-10-02 | 山东佳联电子商务有限公司 | 一种点拍网的网络产权系统交易倒计时方法 |
CN112650567A (zh) * | 2020-12-22 | 2021-04-13 | 平安普惠企业管理有限公司 | 全局通用定时器的实现方法、装置以及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200351764A1 (en) | Method for transmitting and receiving signals in proximity network and electronic device thereof | |
TWI551166B (zh) | 一種通信帳號的訊息提醒方法、系統及裝置 | |
RU2585986C2 (ru) | Терминал и способ управления его приложениями | |
EP2851798A1 (en) | Method, device, and terminal for adjusting heartbeat cycle for application | |
US10003617B2 (en) | Terminal and application synchronization method thereof | |
EP4086748A1 (en) | Method and apparatus for controlling display frequency of display screen, and electronic device | |
WO2019237725A1 (zh) | 基于esls的同步网络构建方法、装置、设备及存储介质 | |
CN106484348B (zh) | 一种基于同步信号的动画绘制方法及系统 | |
CN101583022A (zh) | 视频监控客户端播放方法和系统 | |
CN108347480B (zh) | 数据同步方法、装置、计算机可读存储介质及电子烟 | |
CN108495175B (zh) | 一种智能电视互联外接设备时控制通讯消息的方法和装置 | |
CN106569573B (zh) | 一种显示方法及装置、显示控制方法及装置、设备 | |
CN111901619A (zh) | 一种消息推送方法和装置 | |
CN114428531A (zh) | 一种App上统一计时的方法 | |
JP2019527822A (ja) | 時間表示方法及びスマートウォッチ | |
US20170109706A1 (en) | Method and Apparatus For Changing Electronic Device Status | |
CN113473191B (zh) | 多设备广告同步播放方法、装置、计算机设备及存储介质 | |
US20200159542A1 (en) | Method for booting startup of electronic device, electronic device, and readable storage medium | |
CN113347691A (zh) | 数据传输的方法及装置 | |
CN112087365A (zh) | 应用于群组的即时通信方法、装置、电子设备及存储介质 | |
CN113424487A (zh) | 用于视频显示的方法、装置及计算机存储介质 | |
JP2020169844A (ja) | 電子時計、情報更新制御方法及びプログラム | |
CN113179145B (zh) | 时间同步方法、装置及系统 | |
WO2022087871A1 (en) | Intelligent management of application layer rendering | |
US20180217562A1 (en) | Intuitive display of time notifications in mobile devices |
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 |