[發明專利]獲取Android中組件相互引用關系的方法及裝置有效
| 申請號: | 201711072168.3 | 申請日: | 2017-11-03 |
| 公開(公告)號: | CN107885501B | 公開(公告)日: | 2020-09-08 |
| 發明(設計)人: | 張磊;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;吳歡燕 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 獲取 android 組件 相互 引用 關系 方法 裝置 | ||
1.獲取Android中組件相互引用關系的方法,其特征在于,包括:
S1,獲取目標Android項目中所有組件的編譯腳本文件;
S2,分別對各所述編譯腳本文件進行解析,獲取每個組件的依賴關系集合;
S3,針對所述每個組件的依賴關系集合執行以下步驟:
順序取出當前組件的依賴關系集合中每項依賴關系,并執行以下步驟直至所述當前組件的依賴關系集合遍歷完成:分析當前依賴關系所包含的目標組件,若所述目標組件的依賴關系集合中存在包含當前組件的依賴關系,則獲知所述目標組件與當前組件之間存在相互引用關系;
其中,所述步驟S2進一步包括:
分別對各個組件的編譯腳本文件執行以下步驟:
通過調用readLine方法獲取當前組件的編譯腳本文件中每一行的內容信息;
調用contains(“dependencies”)函數以判斷當前行的內容信息中是否包含關鍵字dependencies,若不包含則開始讀取下一行數據,直到某一行中包含關鍵字dependencies時開始讀取“dependencies{”后的依賴關系信息,直至讀取到“}”時為止;
將所讀取到的依賴關系信息存儲至一個集合中;或者,
所述步驟S2進一步包括:
分別對各個組件的編譯腳本文件執行以下步驟:
通過調用file類中的readAll方法將當前組件的編譯腳本文件中的所有內容信息讀取到內存中;
調用indexOf(“dependencies{”)函數以獲取所述內容信息中出現“dependencies{”的索引值index;
調用seek函數將文件游標移動到index+length(“dependencies{”)所表示的位置,通過不斷移動文件游標讀取“dependencies{”后的依賴關系信息,直至讀取到“}”時為止;
將所讀取到的依賴關系信息存儲至一個集合中;
其中,所述步驟S3進一步包括:
S31,對各個組件進行編號;
S32,分析每個組件的依賴關系集合中的每項依賴關系所包含的目標組件,并獲取所述目標組件的編號,將所述每項依賴關系分別映射為所獲取到的編號;
S33,按照編號從小到大對所述每個組件的依賴關系集合中的所有依賴關系進行排序;
S34,針對所述每個組件的依賴關系集合執行以下步驟:
順序取出當前組件的依賴關系集合中的每個編號作為當前編號,并執行以下步驟直至所述當前組件的依賴關系集合遍歷完成:獲取當前編號所對應的目標組件的依賴關系集合中所有小于所述當前編號的依賴關系,若所獲取到的所有小于所述當前編號的依賴關系中存在與所述當前組件的編號相對應的依賴關系,則獲知當前組件與所述目標組件之間存在相互引用關系。
2.根據權利要求1所述的方法,其特征在于,在步驟S3中所述分析當前依賴關系所包含的目標組件的步驟之后還包括:
若所述目標組件的依賴關系集合中不存在包含當前組件的依賴關系,則獲知所述目標組件與當前組件之間不存在相互引用關系,則開始對當前組件的依賴關系集合中的下一項依賴關系進行分析。
3.根據權利要求1所述的方法,其特征在于,所述步驟S34還包括:
若當前編號所對應的目標組件的依賴關系集合中不存在小于所述當前編號的依賴關系,則獲知當前組件與所述目標組件之間不存在相互引用關系,則開始對當前組件的依賴關系集合中的下一個編號進行分析。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711072168.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種具有散熱功能的輪胎鋼圈
- 下一篇:一種結構強度高的輪胎鋼圈





