[发明专利]定时器设置方法、存储介质、电子设备及系统在审
申请号: | 201810024355.2 | 申请日: | 2018-01-10 |
公开(公告)号: | CN110018865A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 张磊;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F9/54 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 触发消息 定时器 定时器设置 存储介质 电子设备 静态函数 定时器资源 创建消息 内存泄漏 线程执行 消息队列 应用开发 超时 队列 遗漏 存储 返回 管理 | ||
本发明公开了一种定时器设置方法、存储介质、电子设备及系统,涉及应用开发领域,包括定义一public类型的静态函数,当所述静态函数被执行时返回定时器;在定时器内创建消息队列和执行线程,所述消息队列用于存储触发消息,且每个触发消息均包括定时时间,所述执行线程用于执行到达定时时间后的任务线程;当到达触发消息的超时时间时,执行线程执行任务线程。本发明能够有效避免因定时器资源管理不当或者遗漏就引起的内存泄漏问题。
技术领域
本发明涉及应用开发领域,具体涉及一种定时器设置方法、存储介质、电子设备及系统。
背景技术
在Android系统的应用开发过程中我们会使用到定时器功能,且定时器是需要被应用经常所使用到的组件,例如在直播客户端中通过定时器,当点击投屏界面中的任意按钮后开始计时,超过10秒没有操作过任意按钮就自动隐藏投屏设置界面,如果在10秒内又触发了任意其他的按钮则需要重置计时并从当前这次的按钮点击开始计时进行10秒倒计时,每次重新开始倒计时10s其实都是对定时器的重置操作。
因此定时器在使用的过程中需要频繁的进行开启和关闭等操作,并且在开启定时器的时候需要申请定时器资源,在关闭定时器的时候需要释放定时器资源,若对资源管理不当或者遗漏就极易引起内存泄漏的风险。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种定时器设置方法,能够有效避免因定时器资源管理不当或者遗漏就引起的内存泄漏问题。
为达到以上目的,本发明采取的技术方案是,包括:
定义一public类型的静态函数,当所述静态函数被执行时返回定时器;
在定时器内创建消息队列和执行线程,所述消息队列用于存储触发消息,且每个触发消息均包括定时时间,所述执行线程用于执行到达定时时间后的任务线程;
当到达触发消息的超时时间时,执行线程执行任务线程。
在上述技术方案的基础上,
所述消息队列内存储的触发消息为多个;
每个开启定时器的触发消息均对应有待处理任务;
当消息队列内触发消息的定时时间到达时,执行线程执行该触发消息对应待处理任务的任务线程,进行待处理任务的执行。
在上述技术方案的基础上,
所述消息队列为BlockingQueue数据结构;
所述消息队列中的触发消息按照定时时间的长短进行排列,且定时时间短的触发消息排于定时时间长的触发消息之前以被先执行。
在上述技术方案的基础上,当需同时执行多个任务线程时,使用预设了线程数的线程池进行多个任务线程的同时执行。
在上述技术方案的基础上,
每个触发消息均包括ID号;
当需要取消消息队列内的触发消息时,依据该条触发消息的ID号在消息队列内找出并移除。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。
本发明还提供一种定时器设置系统,包括:
设置模块,其用于定义一public类型的静态函数,且当所述静态函数被执行时返回定时器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810024355.2/2.html,转载请声明来源钻瓜专利网。