[發明專利]一種用戶界面繪制層級、過度繪制的檢測方法及裝置有效
| 申請號: | 201910143733.3 | 申請日: | 2019-02-25 |
| 公開(公告)號: | CN111611032B | 公開(公告)日: | 2023-05-26 |
| 發明(設計)人: | 王玉鵬 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/451 | 分類號: | G06F9/451;G06F8/38 |
| 代理公司: | 北京思格頌知識產權代理有限公司 11635 | 代理人: | 楊超 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用戶界面 繪制 層級 過度 檢測 方法 裝置 | ||
1.一種用戶界面繪制層級的檢測方法,其特征在于,包括:
在用戶界面的刷新過程中,通過預先插入的探針獲取所述用戶界面的頂層視圖的控件樹,所述控件樹包括所述頂層視圖的控件,所述探針為用于獲取控件樹的執行代碼,所述探針通過下述方式預先插入:在對應用程序的源碼編譯過程中,遍歷所述源碼搜索出所有的Activity的子類,每個所述子類對應一個用戶界面;在所述子類的頂層視圖源碼的刷新方法部分插入探針;
在所述子類的頂層視圖源碼的刷新方法部分插入探針前,還包括:獲取所述子類的頂層視圖的標識;若獲取失敗,按照設定的規則在所述源碼中設置所述頂層視圖的標識,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;若獲取成功,查找預先建立的免檢視圖列表中是否有所述頂層視圖的標識;若否,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;
確定所述控件樹的層級數量作為所述用戶界面的繪制層級。
2.如權利要求1所述的方法,其特征在于,確定所述控件樹的層級數量,包括:
按照預設的算法遍歷所述控件樹,每獲取到一級控件,所述控件樹的層級數量增加1,并繼續獲取下一級控件,直至獲取不到下一級控件。
3.如權利要求1所述的方法,其特征在于,獲取所述子類的頂層視圖的標識,包括:
在所述子類的onStart方法源碼中獲取所述子類的頂層視圖的標識。
4.一種用戶界面過度繪制的檢測方法,其特征在于,包括:
在用戶界面的刷新過程中,通過預先插入的探針獲取所述用戶界面的頂層視圖的控件樹;所述控件樹包括所述視圖的控件,所述探針為用于獲取控件樹的執行代碼,所述探針通過下述方式預先插入:在對應用程序的源碼編譯過程中,遍歷所述源碼搜索出所有的Activity的子類,每個所述子類對應一個用戶界面;在所述子類的頂層視圖源碼的刷新方法部分插入探針;
在所述子類的頂層視圖源碼的刷新方法部分插入探針前,還包括:獲取所述子類的頂層視圖的標識;若獲取失敗,按照設定的規則在所述源碼中設置所述頂層視圖的標識,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;若獲取成功,查找預先建立的免檢視圖列表中是否有所述頂層視圖的標識;若否,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;
確定所述控件樹的層級數量作為所述用戶界面的繪制層級;
判斷所述繪制層級是否大于或等于預設層級閾值;
若是,確定所述用戶界面過度繪制。
5.一種用戶界面繪制層級的檢測裝置,其特征在于,包括:
獲取模塊,用于在用戶界面的刷新過程中,通過預先插入的探針獲取所述用戶界面的頂層視圖的控件樹;所述控件樹包括所述頂層視圖的控件,所述探針為用于獲取控件樹的執行代碼,所述探針通過下述方式預先插入:在對應用程序的源碼編譯過程中,遍歷所述源碼搜索出所有的Activity的子類,每個所述子類對應一個用戶界面;在所述子類的頂層視圖源碼的刷新方法部分插入探針;在所述子類的頂層視圖源碼的刷新方法部分插入探針前,還包括:獲取所述子類的頂層視圖的標識;若獲取失敗,按照設定的規則在所述源碼中設置所述頂層視圖的標識,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;若獲取成功,查找預先建立的免檢視圖列表中是否有所述頂層視圖的標識;若否,再執行所述在所述子類的頂層視圖源碼的刷新方法部分插入探針;
確定模塊,用于確定所述獲取模塊獲取的所述控件樹的層級數量作為所述用戶界面的繪制層級。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910143733.3/1.html,轉載請聲明來源鉆瓜專利網。





