CN113791944A - 页面定时器的监控方法、装置、介质及电子设备 - Google Patents

页面定时器的监控方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN113791944A
CN113791944A CN202110060671.7A CN202110060671A CN113791944A CN 113791944 A CN113791944 A CN 113791944A CN 202110060671 A CN202110060671 A CN 202110060671A CN 113791944 A CN113791944 A CN 113791944A
Authority
CN
China
Prior art keywords
timer
page
interface
clearing
type
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
Application number
CN202110060671.7A
Other languages
English (en)
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 Jingdong Tuoxian Technology Co Ltd
Original Assignee
Beijing Jingdong Tuoxian Technology 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 Jingdong Tuoxian Technology Co Ltd filed Critical Beijing Jingdong Tuoxian Technology Co Ltd
Priority to CN202110060671.7A priority Critical patent/CN113791944A/zh
Publication of CN113791944A publication Critical patent/CN113791944A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种页面定时器的监控方法,包括:监控第一页面,所述第一页面中部署有定时器;当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及从所述定时器管理库中清除与所述定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。本发明还提供了一种页面定时器的监控装置、介质以及电子设备。

Description

页面定时器的监控方法、装置、介质及电子设备
技术领域
本发明涉及页面定时器处理的技术领域,具体而言,涉及一种页面定时器的监控方法、装置、介质及电子设备。
背景技术
随着互联网的快速发展,开发者根据用户需求开发了各种各样的页面。例如,根据用户的需求可以在页面上添加定时器,以便于对业务项目进行推广。目前,当对业务项目推广完成之后,需要从页面上清除定时器。一般地,通过人工手动清除页面中的定时器,但是以此方式清除效率较低,而且很难确保项目团队中每个成员都清除了自己在页面添加的定时器,由于定时器积累的越多,页面就会越卡,耗电量也会越大,甚至存在内存泄漏的风险,最终导致浏览器卡死甚至崩溃。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种页面定时器的监控方法、装置、介质及电子设备,进而至少可以在一定程度上提升清除定时器的效率,有效地避免内存泄漏的风险。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种页面定时器的监控方法,包括:监控第一页面,所述第一页面中部署有定时器;当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
在本发明的一些实施例中,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该方法还包括:根据所述定时器中的预设参数,确定所述定时器的类型;根据所述定时器的类型,调用清除接口,所述清除接口用于从所述定时器管理库中清除定时器。
在本发明的一些实施例中,所述清除接口包括第一接口和第二接口,所述第一接口和所述第二接口不同;根据所述定时器的类型,调用所述清除接口包括:当所述定时器的类型为setInterval,调用所述第一接口,所述第一接口用于从所述定时器管理库中清除定时器类型为setInterval的定时器;或者当所述定时器的类型为setTimeout,调用所述第二接口,所述第二接口用于从所述定时器管理库中清除定时器类型为setTimeout的定时器。
在本发明的一些实施例中,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该方法还包括:确定所述定时器是否存在计时剩余时间;如果所述定时器存在所述计时剩余时间,暂停所述定时器,并计算所述计时剩余时间。
在本发明的一些实施例中,该方法还包括:当监控到从所述第二页面重新切换至所述第一页面时,调用创建接口;利用所述创建接口,基于所述计时剩余时间创建新定时器。
在本发明的一些实施例中,所述创建接口包括第三接口和第四接口,所述第三接口和所述第四接口不同;利用所述创建接口,基于所述计时剩余时间创建新定时器包括:当已删除定时器的类型为setInterval,利用所述第三接口,基于所述计时剩余时间创建定时器类型为setInterval的新定时器;或者当已删除定时器的类型为setTimeout,利用所述第四接口,基于所述计时剩余时间创建定时器类型为setTimeout的新定时器。
在本发明的一些实施例中,所述定时器部署在所述第一页面的组件上,该方法还包括:当所述第一页面的所述组件被销毁时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
根据本发明实施例的第二方面,提供了一种页面定时器的监控装置,包括:监控模块,用于监控第一页面,所述第一页面中部署有定时器;第一查询模块,当从所述第一页面切换到第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及第一清除模块,用于从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
在本发明的一些实施例中,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该装置还包括:第一确定模块,用于根据所述定时器中的预设参数,确定所述定时器的类型;第一调用模块,用于根据所述定时器的类型,调用清除接口,所述清除接口用于从所述定时器管理库中清除定时器。
在本发明的一些实施例中,所述清除接口包括第一接口和第二接口,所述第一接口和所述第二接口不同;上述第一调用模块被配置为:当所述定时器的类型为setInterval,调用所述第一接口,所述第一接口用于从所述定时器管理库中清除定时器类型为setInterval的定时器;或者当所述定时器的类型为setTimeout,调用所述第二接口,所述第二接口用于从所述定时器管理库中清除定时器类型为setTimeout的定时器。
在本发明的一些实施例中,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该装置还包括:第二确定模块,用于确定所述定时器是否存在计时剩余时间;计算模块,如果所述定时器存在所述计时剩余时间,暂停所述定时器,并计算所述计时剩余时间。
在本发明的一些实施例中,该装置还包括:第二调用模块,当监控到从所述第二页面重新切换至所述第一页面时,调用创建接口;创建模块,利用所述创建接口,基于所述计时剩余时间创建新定时器。
在本发明的一些实施例中,所述创建接口包括第三接口和第四接口,所述第三接口和所述第四接口不同;上述创建模块被配置为:当已删除定时器的类型为setInterval,利用所述第三接口,基于所述计时剩余时间创建定时器类型为setInterval的新定时器;或者当已删除定时器的类型为setTimeout,利用所述第四接口,基于所述计时剩余时间创建定时器类型为setTimeout的新定时器。
在本发明的一些实施例中,所述定时器部署在所述第一页面的组件上,该装置还包括:第二查询模块,当所述第一页面的所述组件被销毁时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及第二清除模块,用于从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
根据本发明实施例的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的页面定时器的监控方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的页面定时器的监控方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,监控第一页面,所述第一页面中部署有定时器,当监控到从第一页面切换至第二页面时,根据定时器的标识,从定时器管理库中查询到与该定时器的标识相对应的定时器,从定时器管理库中清除与该定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本发明实施例的页面定时器的监控方法或页面定时器的监控装置的示例性系统架构的示意图;
图2示意性示出了根据本发明的实施例的页面定时器的监控方法的流程图;
图3示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图;
图4示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图;
图5示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图;
图6示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图;
图7示意性示出了根据本发明的实施例的页面定时器的监控装置的方框图;
图8示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图;
图9示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图;
图10示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图;
图11示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图;
图12示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本发明实施例的页面定时器的监控方法或页面定时器的监控装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器。例如服务器105可以监控终端设备103(也可以是终端设备101或102)的第一页面,所述第一页面中部署有定时器;当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及从所述定时器管理库中清除与所述定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
在一些实施例中,本发明实施例所提供的页面定时器的监控方法一般由服务器105执行,相应地,页面定时器的监控装置一般设置于服务器105中。在另一些实施例中,某些终端可以具有与服务器相似的功能从而执行本方法。因此,本发明实施例所提供的页面定时器的监控方法不限定在服务器端执行。
图2示意性示出了根据本发明的实施例的页面定时器的监控方法的流程图。
如图2所示,页面定时器的监控方法可以包括步骤S210~步骤S230。
在步骤S210中,监控第一页面,所述第一页面中部署有定时器。
在步骤S220中,当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器。
在步骤S230中,从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
该方法可以监控第一页面,所述第一页面中部署有定时器,当监控到从第一页面切换至第二页面时,根据定时器的标识,从定时器管理库中查询到与该定时器的标识相对应的定时器,从定时器管理库中清除与该定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
在本发明的一个实施例中,上述第一页面和上述第二页面不同。例如,第一页面和第二页面可以是浏览器的页面。在本实施例中,浏览器可以是单页面浏览器或多页面浏览器。
在本发明的一个实施例中,上述定时器可以部署在第一页面上,也可以部署在第一页面上的组件上。其中,上述定时器类型可以是setTimeout和setInterval。
在本发明的一个实施例中,利用创建接口可以创建定时器。例如,利用创建接口中的$setTimeout方法创建定时器类型为setTimeout的定时器。再例如,利用创建接口中的$setInterval方法创建定时器类型为setInterval的定时器。其中,定时器类型为setTimeout的定时器是一次性定时器,定时器类型为setInterval的定时器是周期性定时器。
在本发明的一个实施例中,通过上述创建接口创建的定时器timer可以存储在定时器管理库timerStore。在本实施例中,在定时器管理库timerStore中可以定义一个timerStore类,用于管理页面组件的定时器或页面的定时器的创建、清除、恢复、暂停功能。另外,还可以在定时器管理库timerStore中新建Map对象store用于存储该组件的定时器或页面的定时器。
在本发明的一个实施例中,当监控到从第一页面切换至第二页面时,根据定时器的标识,从定时器管理库中查询到与定时器的标识相对应的定时器。例如,实时监控第一页面,当监控到用户从第一页面切换至第二页面时,根据定时器的id,从定时器管理库中的定时器与id的映射列表中查找与该id相对应的定时器。
在本发明的一个实施例中,从定时器管理库中清除与该定时器的标识相对应的定时器。例如,根据定时器管理库中该定时器中的timeId调用清除接口,从定时器管理库中清除该定时器,即清除了第一页面的定时器。例如,通过定时器的id在上述store中找到对应的timer对象,如果timer对象为空则返回,代表该定时器已清除,否则可以通过该定时器的timerId调用clearTimeout或clearInterval原生清除接口API清除,该定时器增加一个标示位(this.timeId="")表示被清除,防止死循环,最后将Timer对象从store中清除。
图3示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图。
如图3所示,在上述步骤S230之前,上述方法还可以包括步骤S310和步骤S320。
在步骤S310中,根据所述定时器中的预设参数,确定所述定时器的类型。
在步骤S320中,根据所述定时器的类型,调用清除接口,所述清除接口用于从所述定时器管理库中清除定时器。
该方法可以根据所述定时器中的预设参数,确定定时器的类型,然后根据该定时器的类型,调用清除接口,所述清除接口用于从定时器管理库中清除定时器,以便于后续可以利用与定时器类型相对应的清除接口有针对性的清除定时器,有效地避免无法清除定时器情况的发生。
在本发明的一个实施例中,上述清除接口包括第一接口和第二接口,所述第一接口和所述第二接口不同。例如,第一接口可以是clearInterval原生清除接口API,第二接口可以是clearTimeout原生清除接口API。
在本发明的一个实施例中,根据定时器的类型,调用清除接口包括:当定时器的类型为setInterval,调用第一接口,所述第一接口用于从所述定时器管理库中清除定时器类型为setInterval的定时器;或者当定时器的类型为setTimeout,调用第二接口,所述第二接口用于从所述定时器管理库中清除定时器类型为setTimeout的定时器。
在本发明的一个实施例中,通过clearInterval原生清除接口API对定时器的类型为setInterval的定时器进行清除。例如,调用clearInterval原生清除接口API中的$clearInterval方法清除定时器的类型为setInterval的定时器。
在本发明的一个实施例中,通过clearTimeout原生清除接口API对定时器的类型为setTimeout的定时器进行清除。例如,调用clearTimeout原生清除接口API中的$clearTimeout方法清除定时器的类型为setTimeout的定时器。
图4示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图。
如图4所示,在步骤S230之前,上述方法还可以包括步骤S410和步骤S420。
在步骤S410中,确定所述定时器是否存在计时剩余时间。
在步骤S420中,如果所述定时器存在所述计时剩余时间,暂停所述定时器,并计算所述计时剩余时间。
该方法可以确定定时器是否存在计时剩余时间,如果该定时器存在计时剩余时间,暂停该定时器,并计算计时剩余时间,这样以便于用户重新切换至第一页面时可以基于计时剩余时间重新创建新定时器,避免以计时全部时间创建新定时器。
在本发明的一个实施例中,当监控到从第一页面切换至第二页面时,确定该定时器是否存在计时剩余时间,如果存在计时剩余时间,调用定时器管理库中的suspend方法暂停该定时器。并根据定时器类型计算计时剩余时间。例如,当定时器类型为setTimeout时,直接计算该定时器的计时剩余时间。再例如,当定时器类型为setInterval时,由于该类型的定时器为周期性定时器,因此在计算计时剩余时间时需要对时间间隔进行取余。
图5示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图。
如图5所示,上述方法还可以包括步骤S510和步骤S520。
在步骤S510中,当监控到从所述第二页面重新切换至所述第一页面时,调用创建接口。
在步骤S520中,利用所述创建接口,基于所述计时剩余时间创建新定时器。
在该方法中,当监控到从第二页面重新切换至第一页面时,调用创建接口,利用创建接口,基于计时剩余时间创建新定时器,这样可以避免以计时全部时间创建新定时器。
在本发明的一个实施例中,上述创建接口包括第三接口和第四接口,所述第三接口和所述第四接口不同。其中,第三接口可以是setInterval原生创建接口API,第四接口可以是setTimeout原生创建接口API。
在本发明的一个实施例中,利用上述创建接口,基于计时剩余时间创建新定时器包括:当已删除定时器的类型为setInterval,利用第三接口,基于计时剩余时间创建定时器类型为setInterval的新定时器;或者当已删除定时器的类型为setTimeout,利用第四接口,基于计时剩余时间创建定时器类型为setTimeout的新定时器。
在本发明的一个实施例中,利用第三接口,基于计时剩余时间创建定时器类型为setInterval的新定时器。例如,通过setInterval原生创建接口API,基于计时剩余时间创建定时器类型为setInterval的新定时器。
在本发明的一个实施例中,利用第四接口,基于计时剩余时间创建定时器类型为setTimeout的新定时器。例如,通过setTimeout原生创建接口API,基于计时剩余时间创建定时器类型为setTimeout的新定时器。
在本发明的一个实施例中,在创建定时器时,可以通过setInterval原生创建接口API或setTimeout原生创建接口API进行创建。具体地,通过上述两种接口定义Timer类,以及通过该Timer类实现定时器功能的一些参数,例如,id、fn、timeout、restTime、isInterval、以及arg。其中,id为定时器标识,该定时器标识为定时器的全局标识。fn为回调函数。Timeout为定时器执行时间间隔。restTime为定时器剩余计时时间。isInterval为定时器类型。arg为定时器其他参数。在本实施例中,在Timer类的内部定义一个方法start,启动定时器,记录开始计时时间戳,根据参数isInterval来判断定时器的类型,例如判断是不是定时器类型为setInterval的定时器,如果是setInterval,则定义一个回调函数cb,在函数表达式cb中调用上述fn,由于该定时器为周期性定时器,因此在cb中递归调用$setTimeout方法,并将返回值作为timerId。如果不是setInterval,定义一个回调函数cb,调用$setTimeout方法,并将返回值作为timerId。
图6示意性示出了根据本发明的另一个实施例的页面定时器的监控方法的流程图。
如图6所示,上述方法还可以包括步骤S610和步骤S620。
在步骤S610中,当所述第一页面的所述组件被销毁时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器。
在步骤S620中,从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
在该方法中,当第一页面的所述组件被销毁时,根据定时器的标识,从定时器管理库中查询到与该定时器的标识相对应的定时器,从定时器管理库中清除与定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
在本发明的一个实施例中,当在组件上部署定时器时,需要在第一页面上创建组件,然后在组件上部署定时器。其中,该组件可以是具有生命周期函数的组件。
在本发明的一个实施例中,在上述定时器管理库中定义一个TimerMixin对象,该TimerMixin对象用于分发组件中的定时器的功能。在本实施例中,TimerMixin对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。同名钩子函数将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。值为对象的选项,例如methods、components和directives,将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对)。
在本发明的一个实施例中,当第一页面的组件没有被销毁,且用户又重新返回该组件时,利用上述创建接口,根据已删除定时器的类型,基于计时剩余时间重新创建新定时器。
图7示意性示出了根据本发明的实施例的页面定时器的监控装置的方框图。
如图7所示,页面定时器的监控装置700包括监控模块701、第一查询模块702和第一清除模块703。
具体地,监控模块701,用于监控第一页面,所述第一页面中部署有定时器。
第一查询模块702,当从所述第一页面切换到第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器。
第一清除模块703,用于从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
该页面定时器的监控装置700可以监控第一页面,所述第一页面中部署有定时器,当监控到从第一页面切换至第二页面时,根据定时器的标识,从定时器管理库中查询到与该定时器的标识相对应的定时器,从定时器管理库中清除与该定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
根据本发明的实施例,该页面定时器的监控装置700可以用于实现图2实施例描述的页面定时器的监控方法。
图8示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图。
如图8所示,上述页面定时器的监控装置700还可以包括第一确定模块704和第一调用模块705。
具体地,第一确定模块704,用于根据所述定时器中的预设参数,确定所述定时器的类型。
第一调用模块705,用于根据所述定时器的类型,调用清除接口,所述清除接口用于从所述定时器管理库中清除定时器。
该页面定时器的监控装置700可以根据所述定时器中的预设参数,确定定时器的类型,然后根据该定时器的类型,调用清除接口,所述清除接口用于从定时器管理库中清除定时器,以便于后续可以利用与定时器类型相对应的清除接口有针对性的清除定时器,有效地避免无法清除定时器情况的发生。
根据本发明的实施例,该页面定时器的监控装置700可以用于实现图3实施例描述的页面定时器的监控方法。
在本发明的一些实施例中,上述第一调用模块705被配置为:当所述定时器的类型为setInterval,调用所述第一接口,所述第一接口用于从所述定时器管理库中清除定时器类型为setInterval的定时器;或者当所述定时器的类型为setTimeout,调用所述第二接口,所述第二接口用于从所述定时器管理库中清除定时器类型为setTimeout的定时器。
图9示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图。
如图9所示,上述页面定时器的监控装置700包括第二确定模块706和计算模块707。
具体地,第二确定模块706,用于确定所述定时器是否存在计时剩余时间。
计算模块707,如果所述定时器存在所述计时剩余时间,暂停所述定时器,并计算所述计时剩余时间。
该页面定时器的监控装置700可以确定定时器是否存在计时剩余时间,如果该定时器存在计时剩余时间,暂停该定时器,并计算计时剩余时间,这样以便于用户重新切换至第一页面时可以基于计时剩余时间重新创建新定时器,避免以计时全部时间创建新定时器。
根据本发明的实施例,该页面定时器的监控装置700可以用于实现图4实施例描述的页面定时器的监控方法。
图10示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图。
如图10所示,上述页面定时器的监控装置700还可以包括第二调用模块708和创建模块709。
具体地,第二调用模块708,当监控到从所述第二页面重新切换至所述第一页面时,调用创建接口。
创建模块709,利用所述创建接口,基于所述计时剩余时间创建新定时器。
在该页面定时器的监控装置700中,当监控到从第二页面重新切换至第一页面时,调用创建接口,利用创建接口,基于计时剩余时间创建新定时器,这样可以避免以计时全部时间创建新定时器。
根据本发明的实施例,该页面定时器的监控装置700可以用于实现图5实施例描述的页面定时器的监控方法。
在本发明的一些实施例中,上述创建模块709被配置为:当已删除定时器的类型为setInterval,利用所述第三接口,基于所述计时剩余时间创建定时器类型为setInterval的新定时器;或者当已删除定时器的类型为setTimeout,利用所述第四接口,基于所述计时剩余时间创建定时器类型为setTimeout的新定时器。
图11示意性示出了根据本发明的另一个实施例的页面定时器的监控装置的方框图。
如图11所示,上述页面定时器的监控装置700还可以第二查询模块710和第二清除模块711。
具体地,第二查询模块710,当所述第一页面的所述组件被销毁时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器。
第二清除模块711,用于从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
在该页面定时器的监控装置700中,当第一页面的所述组件被销毁时,根据定时器的标识,从定时器管理库中查询到与该定时器的标识相对应的定时器,从定时器管理库中清除与定时器的标识相对应的定时器,以此方式可以提升清除定时器的效率,有效地避免内存泄漏的风险。
根据本发明的实施例,该页面定时器的监控装置700可以用于实现图6实施例描述的页面定时器的监控方法。
由于本发明的示例实施例的页面定时器的监控装置700的各个模块可以用于实现上述2~图6描述的页面定时器的监控方法的示例实施例的步骤,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的页面定时器的监控方法的实施例。
可以理解的是,监控模块701、第一查询模块702、第一清除模块703、第一确定模块704、第一调用模块705、第二确定模块706、计算模块707、第二调用模块708、创建模块709、第二查询模块710、以及第二清除模块711可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,监控模块701、第一查询模块702、第一清除模块703、第一确定模块704、第一调用模块705、第二确定模块706、计算模块707、第二调用模块708、创建模块709、第二查询模块710、以及第二清除模块711中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,监控模块701、第一查询模块702、第一清除模块703、第一确定模块704、第一调用模块705、第二确定模块706、计算模块707、第二调用模块708、创建模块709、第二查询模块710、以及第二清除模块711中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
下面参考图12,其示出了适于用来实现本发明实施例的电子设备的计算机系统1200的结构示意图。图12示出的电子设备的计算机系统1200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的页面定时器的监控方法。
例如,所述的电子设备可以实现如图2中所示的:在步骤S210中,监控第一页面,所述第一页面中部署有定时器。在步骤S220中,当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器。在步骤S230中,从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种页面定时器的监控方法,包括:
监控第一页面,所述第一页面中部署有定时器;
当监控到从所述第一页面切换至第二页面时,根据所述定时器的标识,从定时器管理库中查询到与所述定时器的标识相对应的定时器;以及
从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
2.根据权利要求1所述的方法,其特征在于,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该方法还包括:
根据所述定时器中的预设参数,确定所述定时器的类型;
根据所述定时器的类型,调用清除接口,所述清除接口用于从所述定时器管理库中清除定时器。
3.根据权利要求2所述的方法,其特征在于,所述清除接口包括第一接口和第二接口,所述第一接口和所述第二接口不同;
根据所述定时器的类型,调用所述清除接口包括:
当所述定时器的类型为setInterval,调用所述第一接口,所述第一接口用于从所述定时器管理库中清除定时器类型为setInterval的定时器;或者
当所述定时器的类型为setTimeout,调用所述第二接口,所述第二接口用于从所述定时器管理库中清除定时器类型为setTimeout的定时器。
4.根据权利要求1所述的方法,其特征在于,在从所述定时器管理库中清除与所述定时器的标识相对应的定时器之前,该方法还包括:
确定所述定时器是否存在计时剩余时间;
如果所述定时器存在所述计时剩余时间,暂停所述定时器,并计算所述计时剩余时间。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
当监控到从所述第二页面重新切换至所述第一页面时,调用创建接口;
利用所述创建接口,基于所述计时剩余时间创建新定时器。
6.根据权利要求5所述的方法,其特征在于,所述创建接口包括第三接口和第四接口,所述第三接口和所述第四接口不同;
利用所述创建接口,基于所述计时剩余时间创建新定时器包括:
当已删除定时器的类型为setInterval,利用所述第三接口,基于所述计时剩余时间创建定时器类型为setInterval的新定时器;或者
当已删除定时器的类型为setTimeout,利用所述第四接口,基于所述计时剩余时间创建定时器类型为setTimeout的新定时器。
7.根据权利要求1~6任意一项所述的方法,其特征在于,所述定时器部署在所述第一页面的组件上,该方法还包括:
当所述第一页面的所述组件被销毁时,根据所述定时器的标识,从所述定时器管理库中查询到与所述定时器的标识相对应的定时器;以及
从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
8.一种页面定时器的监控装置,包括:
监控模块,用于监控第一页面,所述第一页面中部署有定时器;
第一查询模块,当从所述第一页面切换到第二页面时,根据所述定时器的标识,从定时器管理库中查询到与所述定时器的标识相对应的定时器;以及
第一清除模块,用于从所述定时器管理库中清除与所述定时器的标识相对应的定时器。
9.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1~7中任意一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1~7中任意一项所述的方法。
CN202110060671.7A 2021-01-18 2021-01-18 页面定时器的监控方法、装置、介质及电子设备 Pending CN113791944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110060671.7A CN113791944A (zh) 2021-01-18 2021-01-18 页面定时器的监控方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110060671.7A CN113791944A (zh) 2021-01-18 2021-01-18 页面定时器的监控方法、装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN113791944A true CN113791944A (zh) 2021-12-14

Family

ID=78876831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110060671.7A Pending CN113791944A (zh) 2021-01-18 2021-01-18 页面定时器的监控方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN113791944A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023245370A1 (zh) * 2022-06-20 2023-12-28 北京小米移动软件有限公司 定时任务管理方法、装置、电子设备以及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236321A1 (en) * 2005-04-14 2006-10-19 Thornton-Smith Kenneth R Clock-timer that displays a web page after a timing period
US20110256891A1 (en) * 2010-04-14 2011-10-20 Qualcomm Incorporated Power savings through cooperative operation of multiradio devices
CN103324469A (zh) * 2012-03-21 2013-09-25 腾讯科技(深圳)有限公司 定时器实现方法及装置
CN108564416A (zh) * 2018-04-25 2018-09-21 掌阅科技股份有限公司 限时活动倒计时处理方法、计算设备、存储介质
CN109219795A (zh) * 2016-07-05 2019-01-15 深圳脑穿越科技有限公司 页面切换方法、装置、终端以及存储介质
CN109800025A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 页面加载方法、装置、设备及存储介质
CN109857420A (zh) * 2018-12-13 2019-06-07 平安普惠企业管理有限公司 页面更新方法、装置、计算机设备及存储介质
CN110059269A (zh) * 2019-03-21 2019-07-26 北京创鑫旅程网络技术有限公司 页面追踪方法、装置、电子设备和计算机可读存储介质
CN111459581A (zh) * 2019-01-22 2020-07-28 阿里巴巴集团控股有限公司 页面切换方法、装置、电子设备及计算机可读介质
CN111651315A (zh) * 2020-04-15 2020-09-11 北京皮尔布莱尼软件有限公司 一种页面的数据采集方法
CN111694619A (zh) * 2020-06-09 2020-09-22 重庆锐云科技有限公司 基于刷新率的定时器实现方法、装置、设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236321A1 (en) * 2005-04-14 2006-10-19 Thornton-Smith Kenneth R Clock-timer that displays a web page after a timing period
US20110256891A1 (en) * 2010-04-14 2011-10-20 Qualcomm Incorporated Power savings through cooperative operation of multiradio devices
CN103324469A (zh) * 2012-03-21 2013-09-25 腾讯科技(深圳)有限公司 定时器实现方法及装置
CN109219795A (zh) * 2016-07-05 2019-01-15 深圳脑穿越科技有限公司 页面切换方法、装置、终端以及存储介质
CN108564416A (zh) * 2018-04-25 2018-09-21 掌阅科技股份有限公司 限时活动倒计时处理方法、计算设备、存储介质
CN109800025A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 页面加载方法、装置、设备及存储介质
CN109857420A (zh) * 2018-12-13 2019-06-07 平安普惠企业管理有限公司 页面更新方法、装置、计算机设备及存储介质
CN111459581A (zh) * 2019-01-22 2020-07-28 阿里巴巴集团控股有限公司 页面切换方法、装置、电子设备及计算机可读介质
CN110059269A (zh) * 2019-03-21 2019-07-26 北京创鑫旅程网络技术有限公司 页面追踪方法、装置、电子设备和计算机可读存储介质
CN111651315A (zh) * 2020-04-15 2020-09-11 北京皮尔布莱尼软件有限公司 一种页面的数据采集方法
CN111694619A (zh) * 2020-06-09 2020-09-22 重庆锐云科技有限公司 基于刷新率的定时器实现方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
小丫小王子(作者笔名): "vue中,无缓存/缓存场景下组件定时器的销毁问题", Retrieved from the Internet <URL:http://t.csdnimg.cn/4XI3m> *
徐连荣 等: "理想Web倒计时器的设计与实现", 计算机与信息技术, pages 86 - 87 *
德阳凯子哥(作者笔名): "定时器——库的设计", Retrieved from the Internet <URL:http://t.csdnimg.cn/JM7e5> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023245370A1 (zh) * 2022-06-20 2023-12-28 北京小米移动软件有限公司 定时任务管理方法、装置、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
CN109634490B (zh) 一种列表显示方法、装置、设备及存储介质
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
CN110413384B (zh) 延时任务处理方法及装置、存储介质、电子设备
CN110895534A (zh) 一种数据拼接方法、装置、介质及电子设备
CN110609755A (zh) 跨区块链节点的消息处理方法及装置、设备、介质
CN110659104B (zh) 一种业务监控方法及相关设备
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN114661523A (zh) 数据备份方法、装置、程序产品、介质及电子设备
CN113791944A (zh) 页面定时器的监控方法、装置、介质及电子设备
CN112529711B (zh) 基于区块链虚拟机复用的交易处理方法及装置
CN109683992B (zh) 用于管理对象的方法和装置
CN111176641B (zh) 流程节点执行方法、装置、介质及电子设备
CN110928594A (zh) 服务开发方法和平台
CN111240998B (zh) 测试用例处理方法和装置
CN112230944A (zh) 应用安装方法、装置、电子设备和计算机可读介质
CN111951040A (zh) 信息发送方法及装置、电子设备、存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN113409153A (zh) 业务流程管理系统与业务流程处理方法、设备及存储介质
CN111240850A (zh) 函数调用方法、装置、电子设备及存储介质
CN115794386A (zh) 虚拟机的资源调用方法、设备及存储介质
CN111970338A (zh) 基于云函数的请求处理方法、装置及计算机可读介质
CN113760315A (zh) 测试系统的方法和装置
CN113010174A (zh) 业务监控的方法和装置
EP4113292A2 (en) Method and apparatus for pre-starting cloud application, device, storage medium, and program product
CN110647405A (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