新四季網

應用程式的響應狀態的確定方法及裝置與流程

2023-06-09 08:13:41 2


本申請涉及計算機
技術領域:
,尤其涉及一種應用程式的響應狀態的確定方法及裝置。
背景技術:
:傳統技術中,一般通過統計應用程式執行業務的耗時時間或者通過人工的方式,來確定應用程式的響應狀態,然而統計耗時時間的方式需要對上述應用程式本身進行修改,這會極大地增加開發人員的工作量;而人工的方式,會影響應用程式的響應狀態確定的效率。技術實現要素:本申請描述了一種應用程式的響應狀態的確定方法及裝置,以提高應用程式的響應狀態確定的效率。第一方面,提供了一種應用程式的響應狀態的確定方法,該方法包括:當監測到目標應用程式啟動時,創建相應的分線程;通過所述分線程從與主線程對應的存儲單元中獲取所述主線程的多個響應結果;根據所述多個響應結果,確定所述主線程的響應狀態;根據所述主線程的響應狀態,確定所述目標應用程式的響應狀態。第二方面,提供了一種應用程式的響應狀態的確定裝置,該裝置包括:創建單元,用於當監測到目標應用程式啟動時,創建相應的分線程;獲取單元,用於通過所述創建單元創建的所述分線程從與主線程對應的存儲單元中獲取所述主線程的多個響應結果;確定單元,用於根據所述獲取單元獲取的所述多個響應結果,確定所述主線程的響應狀態;所述確定單元,還用於根據所述主線程的響應狀態,確定所述目標應用程式的響應狀態。本申請提供的應用程式的響應狀態的確定方法及裝置,通過獲取主線程的多個響應結果,來確定主線程的響應狀態,之後根據主線程的響應狀態,來確定應用程式的響應狀態;也即本申請可以自動地根據主線程的狀態來確定應用程式的響應狀態,無需對應用程式本身作出修改,從而可以減少開發人員的工作量,且可以提高應用程式的響應狀態確定的效率。附圖說明為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。圖1為本申請提供的確定應用程式的響應狀態的系統示意圖;圖2為本申請一種實施例提供的確定應用程式的響應狀態的方法流程圖;圖3為本申請另一種實施例提供的確定應用程式的響應狀態的裝置示意圖。具體實施方式下面結合附圖,對本發明的實施例進行描述。本申請實施例提供的應用程式的響應狀態的確定方法適用於對移動終端上的應用程式的響應狀態為響應或者不響應進行確定的場景,此處的移動終端包括但不限於手機以及平板電腦等,該移動終端的作業系統可以為ios系統;上述應用程式可以為在移動終端的屏幕上有對應的圖標的應用程式,如,「支付寶」等,也可以為應用程式內部的子應用程式,該子應用程式在應用程式的展示界面上有對應的圖標和/或文字等,如,「支付寶」內部的業務,包括「餘額寶」以及「轉帳」等。上述應用程式的響應狀態為響應是指可以接收用戶輸入的指令,且可以根據該指令執行相應的操作;而應用程式的響應狀態為不響應是指該應用程式長時間卡住不動,且不對用戶輸入的指令作出任何響應,在此說明書中,可以將應用程式的響應狀態為不響應稱為卡頓。本申請提供的應用程式的響應狀態的確定方法可以由圖1所示的系統執行,如圖1所示,該系統可以包括:主線程訪問器101和主線程查詢器102。主線程訪問器101,用於在監測到目標應用程式啟動時,通過移動終端的作業系統提供的應用程式編程接口(applicationprogramminginterface,api)函數創建相應的分線程,該分線程為訪問主線程的響應結果所建立的線程。具體地,主線程訪問器101在創建相應的分線程之後,還可以通過該分線程向主線程查詢器102發送查詢請求,來訪問主線程的響應結果;並根據響應結果,確定主線程的響應狀態;之後再根據主線程的響應狀態,確定目標應用程式的響應狀態。此處,根據主線程的響應狀態確定目標應用程式的響應狀態的原理如下:在目標應用程式啟動後,作業系統對目標應用程式的更新以及對用戶輸入指令(也稱用戶操作)的響應都是由主線程完成的,其中,更新包括應用程式的展示界面顏色的更新(如,紅色->藍色)以及根據運算結果對展示界面的更新,當主線程的響應狀態為不響應時,會導致目標應用程式無法更新以及對用戶操作不響應的問題,也即只有在主線程的響應狀態為響應時,目標應用程式的響應狀態才為響應。此外,主線程訪問器101還可以用於為上述分線程啟動定時器,從而實現周期性地通過分線程對主線程的響應結果進行訪問,也即當該定時器的計時時間到達時,通過分線程訪問主線程的響應結果。再者,主線程訪問器101還可以用於在確定目標應用程式的響應狀態為不響應時,輸出報告信息,以便開發人員根據該報告信息,對目標應用程式進行優化。主線程查詢器102,用於周期性查詢主線程當前所處的狀態,並根據其當前所處的狀態,確定主線程的響應結果。主線程查詢器102具體可以通過調用函數:cfrunloopruninmode來查詢主線程當前所處的狀態,其中,主線程當前所處的狀態包括:wait鎖狀態、繁忙狀態以及空閒狀態等,其中,繁忙狀態也稱工作狀態,在主線程當前所處的狀態為工作狀態時,其無法響應用戶輸入。具體地,當主線程當前所處的狀態為wait鎖狀態或者繁忙狀態時,確定主線程的響應結果為不響應,而當主線程當前所處的狀態為空閒狀態時,確定主線程的響應結果為響應。可選地,主線程查詢器102可以在本地維護存儲單元(也可以稱為主線程狀態隊列),之後當每次確定到主線程的響應結果時,可以將該響應結果存儲到上述存儲單元中。在一個例子中,存儲單元可以如表1所示。表1查詢次數響應結果1響應2不響應3響應4不響應5不響應6不響應需要說明的是,表1隻是一種示例,並不作為對本申請的限制,在實際應用中,表1中的響應結果也可以表示為其它信息,如,空閒或者忙碌等;此外,表1可能會包含其它欄位的內容,如,響應結果對應的權重值等。主線程查詢器102,還用於接收主線程訪問器101發送的查詢請求,並根據該查詢請求從主線程對應的存儲單元(如,表1)中獲取主線程的響應結果,之後將獲取的響應結果返回給主線程查詢器102。在主線程查詢器102本地維護存儲單元時,主線程訪問器101還可以用於在根據主線程查詢器102返回的響應結果,確定主線程的響應狀態為響應時,向主線程查詢器102發送清空指令,主線程查詢器102在接收到上述清空指令之後,清空存儲單元中的響應結果。主線程查詢器102在清空存儲單元中的響應結果之後,重新開始保存後續查詢到的響應結果。在一個例子中,在清空存儲單元中的響應結果之後,重新開始保存的後續查詢到的響應結果可以如表2所示。表2查詢次數響應結果7響應8不響應9響應需要說明的是,上述只是一種對主線程訪問器101和主線程查詢器102的功能的劃分方法,在實際應用中,也可以由主線程查詢器102在獲取到多個響應結果之後,根據該多個響應結果確定主線程的響應狀態,之後再由主線程查詢器102將確定的主線程的響應狀態返回給主線程訪問器101,本申請對此不作限定。在本申請中,可以由圖1所示的系統來確定應用程式的響應狀態,但在執行該確定過程之前,可以由圖1中的主線程狀態查詢器102周期性執行如下步驟:步驟a:查詢主線程當前所處的狀態。主線程查詢器102具體可以通過調用函數:cfrunloopruninmode來查詢主線程當前所處的狀態,其中,主線程當前所處的狀態包括:wait鎖狀態、繁忙狀態以及空閒狀態等。步驟b:根據主線程當前所處的狀態,確定主線程的響應結果。當主線程當前所處的狀態為wait鎖狀態或者繁忙狀態時,確定主線程的響應狀態為不響應,而當主線程當前所處的狀態為空閒狀態時,確定主線程的響應狀態為響應。由此可以看出,本申請可以對多種導致主線程的響應狀態為不響應的情況進行監控,如,主線程處於wait鎖狀態或者繁忙狀態等,由此可以解決現有技術中,只能監測由於主線程處於wait鎖狀態而導致主線程的響應狀態為不響應的局限性。步驟c:將響應結果存儲到存儲單元。在一個例子中,在周期性執行步驟a-步驟c的過程6次之後,存儲單元可以如表1所示。在由圖1中的主線程狀態查詢器102周期性執行步驟a-步驟c多次之後,就可以由圖1所示的系統來確定應用程式的響應狀態,其具體確定過程可以如圖2所示,該方法具體可以包括如下步驟:步驟210,當監測到目標應用程式啟動時,創建相應的分線程。此處的目標應用程式可以為在移動終端的屏幕上有對應的圖標的應用程式,如,「支付寶」等,也可以為應用程式內部的子應用程式,該子應用程式在應用程式的展示界面上有對應的圖標和/或文字等,如,「支付寶」內部的業務,包括「餘額寶」以及「轉帳」等。主線程訪問器101具體可以通過移動終端的作業系統提供的應用程式編程接口(applicationprogramminginterface,api)函數創建相應的分線程,該分線程為訪問主線程的響應結果所建立的線程。步驟220,主線程訪問器101通過分線程從與主線程對應的存儲單元中獲取主線程的多個響應結果。可選地,主線程訪問器101在創建相應的分線程之後,可以在分線程中啟動定時器,以便當該定時器的計時時間到達時,通過該分線程訪問主線程的響應結果,由此來實現主線程訪問器101周期性對主線程的響應結果的獲取。步驟220具體可以為:主線程訪問器101通過創建的分線程向主線程查詢器102發送查詢請求;主線程查詢器102在接收到查詢請求之後,從主線程的存儲單元中獲取多個響應結果,此處的多個響應結果可以是最近連續n次查詢得到的n個響應結果(如,表1中第4-6次查詢對應的3個響應結果),其中,n>=1,或者也可以是全部的響應結果(如,表1中6次查詢得到的全部的響應結果);主線程查詢器102在獲取到多個響應結果之後,可以將該多個響應結果返回給主線程訪問器101。步驟230,根據多個響應結果,確定主線程的響應狀態。此處,可以由主線程訪問器101根據多個響應結果,確定主線程的響應狀態,其具體的確定過程可以為:從多個響應結果中獲取響應結果為不響應的連續次數,若連續次數超過預設閾值,則確定主線程的響應狀態為不響應;否則確定主線程的響應狀態為響應。此處,預設閾值可以根據經驗值設定。如前述例子,當主線程查詢器102返回的多個響應結果為表1中第4-6次查詢得到的3個響應結果時,則上述連續次數(也可以稱為權重值)可以為3,而假設當預設閾值為2時,因為3>2(即超過預設閾值),所以主線程訪問器101可以確定主線程的響應狀態為不響應;否則,假設當預設閾值為3時,因為3=3(不超過預設閾值),所以線程訪問器101可以確定主線程的響應狀態為響應。當主線程查詢器102返回的多個響應結果為表1中6次查詢對應的全部的響應結果時,獲取的連續次數也為3;在確定連續次數之後,確定主線程的響應狀態的過程同上所述,在此不復贅述。可選地,在線程訪問器101可以確定主線程的響應狀態為響應時,可以向主線程查詢器102發送清空指令,主線程查詢器102在接收到該清空指令之後,可以清空存儲單元中的多個響應結果,如可以清空表1中的6個響應結果;之後當周期到達時,重複執行上述步驟a-步驟c,以便在存儲單元中保存最新查詢的響應結果,保存最新查詢的響應結果的存儲單元可以如表2所示。步驟240,根據主線程的響應狀態,確定目標應用程式的響應狀態。此處,可以由主線程訪問器101根據主線程的響應狀態,確定目標應用程式的響應狀態,其確定過程可以為:當主線程的響應狀態為響應時,確定目標應用程式的響應狀態為響應;當主線程的響應狀態為不響應時,確定目標應用程式的響應狀態為不響應。此處,由於在目標應用程式啟動後,作業系統對目標應用程式的更新以及目標應用程式對用戶操作的響應都是由主線程完成的,其中,更新包括應用程式的展示界面顏色的更新(如,紅色->藍色)以及根據運算結果對展示界面的更新,當主線程的響應狀態為不響應時,會導致目標應用程式無法更新以及對用戶操作不響應的問題,也即只有在主線程的響應狀態為響應時,目標應用程式的響應狀態才為響應。因此,本申請可以根據主線程的響應狀態,確定目標應用程式的響應狀態。可選地,在主線程訪問器101確定目標應用程式的響應狀態為不響應時,其還可以輸出如下所示的報告信息:從上述報告信息可以看出,該報告信息中包括:設備名稱(devicename)、設備版本號(deviceversion)、ios系統版本號(iosversion)、應用程式版本號(appversion)、測試包版本(buildversion)、使用內存(usedmemory)、飛狐版本(flyfoxversion)、應用程式的名稱(如,當時標題)以及運行結果(reason)等運行環境參數信息,其中,flyfox指一種客戶端監控插件。從而開發人員可以根據該報告信息,對目標應用程式進行優化。本申請提供的應用程式的響應狀態的確定方法,通過獲取主線程的多個響應結果,來確定主線程的響應狀態,之後根據主線程的響應狀態,來確定應用程式的響應狀態;也即本申請可以自動地根據主線程的狀態來確定應用程式的響應狀態,無需對應用程式本身作出修改,從而可以減少開發人員的工作量,且可以提高應用程式的響應狀態確定的效率。與上述應用程式的響應狀態的確定方法對應地,本申請實施例還提供的一種應用程式的響應狀態的確定裝置,如圖3所示,該裝置包括:創建單元301,用於當監測到目標應用程式啟動時,創建相應的分線程。獲取單元302,用於通過創建單元301創建的分線程從與主線程對應的存儲單元中獲取主線程的多個響應結果。確定單元303,用於根據獲取單元302獲取的多個響應結果,確定主線程的響應狀態。可選地,響應結果可以包括響應和不響應;確定單元303具體用於:從多個響應結果中獲取響應結果為不響應的連續次數,若連續次數超過預設閾值,則確定主線程的響應狀態為不響應;否則確定主線程的響應狀態為響應。確定單元303,還用於根據主線程的響應狀態,確定目標應用程式的響應狀態。確定單元303具體用於:當主線程的響應狀態為響應時,確定目標應用程式的響應狀態為響應;當主線程的響應狀態為不響應時,確定目標應用程式的響應狀態為不響應。可選地,該裝置還可以包括存儲單元304,用於周期性執行如下步驟:查詢主線程當前所處的狀態;根據主線程當前所處的狀態,確定主線程的響應結果;將響應結果存儲到存儲單元。可選地,該裝置還可以包括:清空單元305,用於當確定主線程的響應狀態為響應時,將存儲單元304中的多個響應結果清空。本申請實施例裝置的各功能模塊的功能,可以通過上述方法實施例的各步驟來實現,因此,本申請提供的裝置的具體工作過程,在此不復贅述。本申請提供的應用程式的確定裝置,創建單元301當監測到目標應用程式啟動時,創建相應的分線程;獲取單元302通過分線程從與主線程對應的存儲單元中獲取主線程的多個響應結果;確定單元303根據多個響應結果,確定主線程的響應狀。由此,可以減少開發人員的工作量,且可以提高應用程式的響應狀態確定的效率。需要說明的是,本申請提供的應用程式的響應狀態的確定裝置可以集成於應用程式的客戶端監控插件中,如,當確定裝置用於確定「支付寶」的響應狀態時,則該確定裝置可以集成於「flyfox」中,其中,「flyfox」用於監測「支付寶」客戶端運行時出現的問題,並提供運行時工具幫助確定問題。本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、固件或它們的任意組合來實現。當使用軟體實現時,可以將這些功能存儲在計算機可讀介質中或者作為計算機可讀介質上的一個或多個指令或代碼進行傳輸。以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀