[發明專利]定時器設置方法、存儲介質、電子設備及系統在審
| 申請號: | 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.szxzyx.cn/pat/books/201810024355.2/2.html,轉載請聲明來源鉆瓜專利網。





