[發明專利]iOS系統中應用程序的運行信息確定方法、裝置有效
| 申請號: | 201811512388.8 | 申請日: | 2018-12-11 |
| 公開(公告)號: | CN109783161B | 公開(公告)日: | 2020-08-04 |
| 發明(設計)人: | 徐臻;吳君陽;王志宇 | 申請(專利權)人: | 北京三快在線科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | ios 系統 應用程序 運行 信息 確定 方法 裝置 | ||
1.一種iOS系統中應用程序的運行信息確定方法,所述iOS系統中設置有多個線程,所述線程包含至少一個方法對象,其特征在于,所述的方法包括:
當所述應用程序通過預設入口函數,調用所述線程中任一所述方法對象時,攔截所述預設入口函數;
將所述預設入口函數替換為目標函數;以使所述線程的方法對象的運行進入到所述目標函數中;
當所述目標函數在所述方法對象中運行時,獲取所述方法對象的運行狀態;
所述目標函數構建堆棧器,在所述堆棧器中寫入和讀取所述運行狀態;
所述目標函數根據所述運行狀態在所述堆棧器中的寫入和讀取的時間,生成所述方法對象的運行時間;
所述目標函數通過所述方法對象的運行時間,確定所述方法對象在所述線程中的調用關系,以及,所述線程的運行時間;
所述目標函數根據所述方法對象在所述線程中的調用關系,以及,所述線程的運行時間,確定所述應用程序的運行信息;
其中,每個線程均維護一個獨立的棧存儲區域,根據該獨立的棧存儲區域中每個線程中包含的方法對象的運行開始時間和結束時間,確定該線程的運行時間;
將所述目標函數還原為所述預設入口函數;
所述應用程序通過預設入口函數,調用所述線程中任一所述方法對象時,所述方法對象讀取所述堆棧器中在所述目標函數開始調用方法對象時存儲的各方法對象的運行狀態;
所述方法對象根據所述運行狀態恢復運行。
2.根據權利要求1所述的方法,其特征在于,所述方法對象的運行時間包括所述方法對象的第一運行起始時間和第一運行結束時間,以及,所述方法對象的第一運行耗時;所述目標函數根據所述運行狀態在所述堆棧器中的寫入和讀取的時間,生成所述方法對象的運行時間的步驟,包括:
所述方法對象運行開始,所述目標函數將所述方法對象的運行狀態在所述堆棧器中執行入棧操作;
所述方法對象運行結束,所述目標函數將所述方法對象的所述運行狀態從所述堆棧器中執行出棧操作;
所述目標函數通過所述入棧操作的時間,確定所述方法對象的第一運行起始時間;
所述目標函數通過所述出棧操作的時間,確定所述方法對象的第一運行結束時間;
所述目標函數根據所述第一運行起始時間和所述第一運行結束時間之差,確定所述方法對象的第一運行耗時。
3.根據權利要求2所述的方法,其特征在于,所述線程的運行時間包括所述線程的第二運行起始時間和第二運行結束時間,以及,所述線程的第二運行耗時;所述目標函數通過所述方法對象的運行時間,確定所述方法對象在所述線程中的調用關系,以及,所述線程的運行時間的步驟,包括:
所述目標函數根據各所述方法對象的所述第一運行起始時間和所述第一運行結束時間,確定所述線程的第二運行起始時間和第二運行結束時間;
所述目標函數根據所述第二運行起始時間和所述第二運行結束時間之差,確定所述線程的第二運行耗時;
所述目標函數根據所述方法對象的所述第一運行起始時間和所述第一運行耗時,確定所述方法對象在所述線程中的運行起始順序和結束順序;
通過所述起始順序和結束順序,確定所述方法對象在所述線程中的調用關系。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京三快在線科技有限公司,未經北京三快在線科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811512388.8/1.html,轉載請聲明來源鉆瓜專利網。





