[發明專利]Android中異步通信工具設計方法有效
| 申請號: | 201810724905.1 | 申請日: | 2018-07-04 |
| 公開(公告)號: | CN109246177B | 公開(公告)日: | 2021-04-27 |
| 發明(設計)人: | 張磊;陳少杰;張文明 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;G06F9/50 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 周天宇 |
| 地址: | 430000 湖北省武漢市武漢東湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | android 異步 通信 工具 設計 方法 | ||
本公開提供一種Android中異步通信工具的設計方法,包括:定義DyHandler類;定義生產DyHandler對象的getDyHandler(Class cls)函數;定義Map集合,用于表示cls與DyHandler類的映射關系;在根據cls產生DyHandler對象時,判定cls是否存在于Map集合中,存在,則調用getDyHandler(Class cls)函數得到DyHandler對象,否則,調用DyHandler類的構造函數獲得DyHandler對象;當不再使用DyHandler對象時,將DyHandler對象從Map集合中刪除。該方法解決了Handler使用繁瑣及內存泄漏的問題。
技術領域
本公開涉及通信技術領域,尤其涉及一種Android中異步通信工具設計方法。
背景技術
傳統方案中異步通信使用的是Android系統提供的一個Handler工具類來進行通信的,由于該方案中存在Handler的使用比較頻繁,并且需要實例化對象及對消息回調的處理等問題,使得其使用起來非常繁瑣,并且當對消息不能夠及時釋放的時候,就很容易產生內存泄漏的問題,從而導致內存被大量占用而不釋放,導致其他業務無法申請到相應的內存空間,從而出現異常。
發明內容
針對傳統方案中現有的技術問題,本發明提供一種Android系統中異步通信工具的設計方法及Android電子設備,用于解決來傳統方案中Handler使用難度大導致的異步通信使用繁瑣及Handler中對消息釋放不及時導致內存泄漏從而導致內存被大量占用致使其他業務無法申請到相應的內存空間的問題。
本公開提供了一種Android系統中異步通信工具的設計方法,包括:定義DyHandler類;定義生產DyHandler對象的getDyHandler(Class cls)函數,其中,cls為產生DyHandler對象的調用參數;定義Map集合,其中,所述Map集合的mMap對象用于表示所述調用參數cls與根據該調用參數cls所產生的DyHandler對象的映射關系;在根據調用參數cls產生DyHandler對象時,判定調用參數cls是否存在于所述Map集合的mMap對象中,如果是,則調用getDyHandler(Class cls)函數得到DyHandler對象,否則,調用DyHandler類的構造函數來獲得DyHandler對象;當不再使用所述DyHandler對象時,將所述DyHandler對象從所述mMap對象中刪除。
可選地,該DyHandler類中包括用于進行消息傳輸的協議棧和消息傳輸的對象mListener,將所述對象mListener賦值為入參參數listener,構建所述對象mListener與調用函數消息接受的引用關系,再通過協議棧將消息傳輸給調用函數的對象。
可選地,該getDyHandler(Class cls)函數為所述DyHandler類中的靜態函數。
可選地,在調用getDyHandler(Class cls)函數得到DyHandler對象時,判斷所述調用參數cls是否為空,如果是則返回,否則獲取該DyHandler對象。
可選地,將所述DyHandler對象從所述mMap對象中刪除,包括:通過調用mMap對象中的mMap.remove(cls)方法來將所述DyHandler對象進行釋放。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810724905.1/2.html,轉載請聲明來源鉆瓜專利網。





