本發(fā)明涉及終端
技術(shù)領(lǐng)域:
,具體而言,涉及一種界面卡頓監(jiān)測(cè)方法及裝置。
背景技術(shù):
:當(dāng)用戶在使用手機(jī)、平板電腦及電腦等終端設(shè)備時(shí),經(jīng)常會(huì)出現(xiàn)界面卡頓現(xiàn)象,比如說,當(dāng)用戶在玩游戲的時(shí)候,或者聽歌的時(shí)候經(jīng)常會(huì)出現(xiàn)畫面滯幀,這就是卡頓現(xiàn)象,卡頓現(xiàn)象也就是人們通常所述的“卡”。而引起界面卡頓的原因有很多,現(xiàn)有技術(shù)中,為了分析出現(xiàn)界面卡頓的原因,通常采用的方法就是由測(cè)試人員對(duì)終端設(shè)備進(jìn)行多次測(cè)試,當(dāng)測(cè)試人員在測(cè)試過程中發(fā)現(xiàn)卡頓現(xiàn)象時(shí),由開發(fā)人員對(duì)問題進(jìn)行復(fù)現(xiàn),以獲取出現(xiàn)卡頓時(shí)終端的日志信息,進(jìn)而分析出現(xiàn)卡頓的原因。但是,采用現(xiàn)有技術(shù)中的方法進(jìn)行界面卡頓的測(cè)試,需要投入大量的測(cè)試人員對(duì)終端設(shè)備進(jìn)行反復(fù)測(cè)試,導(dǎo)致人力資源的浪費(fèi),并且,當(dāng)出現(xiàn)卡頓時(shí),為了獲取出現(xiàn)卡頓時(shí)的日志信息,還得由開發(fā)人員對(duì)問題進(jìn)行復(fù)現(xiàn),耗費(fèi)大量的時(shí)間。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種界面卡頓監(jiān)測(cè)方法及裝置,以試圖解決或者緩解上述出現(xiàn)的問題。第一方面,本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)方法,其中,所述方法包括:根據(jù)待監(jiān)測(cè)終端的中央處理器和內(nèi)存的性能指標(biāo),確定所述待監(jiān)測(cè)終端的界面卡頓閾值;實(shí)時(shí)或定期發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列,并記錄所述監(jiān)測(cè)消息的發(fā)送時(shí)間,所述監(jiān)測(cè)消息攜帶有消息標(biāo)識(shí);對(duì)所述消息隊(duì)列中的消息按序進(jìn)行處理,當(dāng)接收到攜帶有所述消息標(biāo)識(shí)的所述監(jiān)測(cè)消息的處理請(qǐng)求時(shí),記錄所述監(jiān)測(cè)消息對(duì)應(yīng)的處理請(qǐng)求的接收時(shí)間;根據(jù)所述發(fā)送時(shí)間、所述接收時(shí)間和所述界面卡頓閾值,判斷所述待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓;當(dāng)確定所述待監(jiān)測(cè)終端出現(xiàn)界面卡頓時(shí),獲取所述待監(jiān)測(cè)終端在所述發(fā)送時(shí)間和所述接收時(shí)間之間的時(shí)間段內(nèi)的日志信息,所述日志信息包括所述中央處理器占用信息、所述內(nèi)存占用信息及當(dāng)前運(yùn)行程序的調(diào)試信息。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第一種可能的實(shí)現(xiàn)方式,其中,所述根據(jù)所述發(fā)送時(shí)間、所述接收時(shí)間和所述界面卡頓閾值,判斷所述待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓,包括:確定所述發(fā)送時(shí)間和所述接收時(shí)間之間的時(shí)間差值;將所述時(shí)間差值與所述界面卡頓閾值進(jìn)行比較;當(dāng)所述時(shí)間差值大于或等于所述界面卡頓閾值時(shí),確定所述待監(jiān)測(cè)終端出現(xiàn)界面卡頓。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第二種可能的實(shí)現(xiàn)方式,其中,所述方法還包括:將獲取的所述日志信息生成待監(jiān)測(cè)終端的日志文件;將所述日志文件發(fā)送給服務(wù)器。結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第三種可能的實(shí)現(xiàn)方式,其中,所述將所述日志文件發(fā)送給服務(wù)器,包括:將所述日志文件的大小與預(yù)設(shè)閾值進(jìn)行比較;當(dāng)所述日志文件大于或等于所述預(yù)設(shè)閾值時(shí),將所述日志文件發(fā)送給服務(wù)器;當(dāng)所述日志文件小于所述預(yù)設(shè)閾值時(shí),將所述日志文件保存在所述待監(jiān)測(cè)終端。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第四種可能的實(shí)現(xiàn)方式,其中,所述根據(jù)待監(jiān)測(cè)終端的中央處理器和內(nèi)存的性能指標(biāo),確定所述待監(jiān)測(cè)終端的界面卡頓閾值,包括:根據(jù)所述中央處理器和所述內(nèi)存的性能指標(biāo),確定所述待監(jiān)測(cè)終端的硬件評(píng)分;根據(jù)所述硬件評(píng)分,確定所述待監(jiān)測(cè)終端的界面卡頓閾值。結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第五種可能的實(shí)現(xiàn)方式,其中,所述根據(jù)所述中央處理器和所述內(nèi)存的性能指標(biāo),確定所述待監(jiān)測(cè)終端的硬件評(píng)分,包括:分別確定所述中央處理器和所述內(nèi)存的評(píng)分規(guī)則;根據(jù)所述中央處理器的性能指標(biāo)和所述中央處理器的評(píng)分規(guī)則,確定所述中央處理器的評(píng)分;根據(jù)所述內(nèi)存的性能指標(biāo)和所述內(nèi)存的評(píng)分規(guī)則,確定所述內(nèi)存的評(píng)分;根據(jù)所述中央處理器的評(píng)分和所述內(nèi)存的評(píng)分,確定所述待監(jiān)測(cè)終端的硬件評(píng)分。結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第六種可能的實(shí)現(xiàn)方式,其中,所述根據(jù)所述中央處理器的評(píng)分和所述內(nèi)存的評(píng)分,確定所述待監(jiān)測(cè)終端的硬件評(píng)分,包括:分別確定所述中央處理器和所述內(nèi)存的權(quán)重;根據(jù)所述中央處理器的評(píng)分、所述中央處理器的權(quán)重、所述內(nèi)存的評(píng)分和所述內(nèi)存的權(quán)重,確定所述待監(jiān)測(cè)終端的硬件評(píng)分。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第七種可能的實(shí)現(xiàn)方式,其中,通過所述界面線程的消息發(fā)送者Handler發(fā)送監(jiān)測(cè)消息給所述界面線程對(duì)應(yīng)的消息隊(duì)列。第二方面,本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)裝置,其中,所述裝置包括:確定模塊,用于根據(jù)待監(jiān)測(cè)終端的中央處理器和內(nèi)存的性能指標(biāo),確定所述待監(jiān)測(cè)終端的界面卡頓閾值;第一發(fā)送模塊,用于實(shí)時(shí)或定期發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列,并記錄所述監(jiān)測(cè)消息的發(fā)送時(shí)間,所述監(jiān)測(cè)消息攜帶有消息標(biāo)識(shí);處理模塊,用于對(duì)所述消息隊(duì)列中的消息按序進(jìn)行處理,當(dāng)接收到攜帶有所述消息標(biāo)識(shí)的所述監(jiān)測(cè)消息的處理請(qǐng)求時(shí),記錄所述監(jiān)測(cè)消息對(duì)應(yīng)的處理請(qǐng)求的接收時(shí)間;判斷模塊,用于根據(jù)所述發(fā)送時(shí)間、所述接收時(shí)間和所述界面卡頓閾值,判斷所述待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓;獲取模塊,用于當(dāng)確定所述待監(jiān)測(cè)終端出現(xiàn)界面卡頓時(shí),獲取所述待監(jiān)測(cè)終端在所述發(fā)送時(shí)間和所述接收時(shí)間之間的時(shí)間段內(nèi)的日志信息,所述日志信息包括所述中央處理器占用信息、所述內(nèi)存占用信息及當(dāng)前運(yùn)行程序的調(diào)試信息。結(jié)合第二方面,本發(fā)明實(shí)施例提供了上述第二方面的第一種可能的實(shí)現(xiàn)方式,其中,所述判斷模塊,包括:第一確定單元,用于確定所述發(fā)送時(shí)間與所述接收時(shí)間之間的時(shí)間差值;比較單元,用于將所述時(shí)間差值與所述界面卡頓閾值進(jìn)行比較;第二確定單元,用于當(dāng)所述時(shí)間差值大于或等于所述界面卡頓閾值時(shí),確定所述待監(jiān)測(cè)終端出現(xiàn)界面卡頓。本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)方法及裝置,該方法實(shí)現(xiàn)了界面卡頓的自動(dòng)監(jiān)測(cè),并且,在監(jiān)測(cè)到出現(xiàn)界面卡頓時(shí),會(huì)獲取卡頓期間的日志信息,方便開發(fā)人員對(duì)引起卡頓的原因進(jìn)行分析,避免了通過問題復(fù)現(xiàn)來獲取卡頓期間的日志信息,節(jié)省了大量的人力和時(shí)間。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。圖1示出了本發(fā)明實(shí)施例1所提供的一種界面卡頓監(jiān)測(cè)方法的流程圖;圖2示出了本發(fā)明實(shí)施例1所提供的一種界面卡頓監(jiān)測(cè)方法中判斷是否出現(xiàn)界面卡頓的流程圖;圖3示出了本發(fā)明實(shí)施例1所提供的一種界面卡頓監(jiān)測(cè)方法中確定待監(jiān)測(cè)終端的硬件得分的流程圖;圖4示出了本發(fā)明實(shí)施例2所提供的一種界面卡頓監(jiān)測(cè)裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。考慮到現(xiàn)有技術(shù)中,在檢測(cè)終端是否出現(xiàn)界面卡頓時(shí),通常采用的方法就是由測(cè)試人員對(duì)終端設(shè)備進(jìn)行多次測(cè)試,當(dāng)測(cè)試人員在測(cè)試過程中發(fā)現(xiàn)卡頓現(xiàn)象時(shí),由開發(fā)人員對(duì)問題進(jìn)行復(fù)現(xiàn),以獲取出現(xiàn)卡頓時(shí)終端的日志信息,進(jìn)而分析出現(xiàn)卡頓的原因,但是,這樣需要投入大量的測(cè)試人員,導(dǎo)致人力資源的浪費(fèi),并且,當(dāng)出現(xiàn)卡頓時(shí),為了獲取出現(xiàn)卡頓時(shí)的日志信息,還得由開發(fā)人員對(duì)問題進(jìn)行復(fù)現(xiàn),耗費(fèi)大量的時(shí)間?;诖?,本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)方法及裝置,下面通過實(shí)施例進(jìn)行描述。實(shí)施例1本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)方法,如圖1所示,采用該方法進(jìn)行界面卡頓監(jiān)測(cè)時(shí),包括步驟S110-S150,具體如下。S110,根據(jù)待監(jiān)測(cè)終端的中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的界面卡頓閾值。上述待監(jiān)測(cè)終端可以時(shí)手機(jī)、平板電腦、計(jì)算機(jī)等。引起終端卡頓的原因很多,主要還是受終端硬件性能高低的影響,當(dāng)終端需要處理的任務(wù)量相同時(shí),如果終端的硬件性能很高,則終端可以在很短的時(shí)間內(nèi)完成該任務(wù)量,如果終端的硬件性能很低,則終端需要較長(zhǎng)的時(shí)間才能完成上述任務(wù)量。而終端界面出現(xiàn)卡頓,主要還是由終端上的中央處理器(CentralProcessingUnit,CPU)和內(nèi)存來決定的,因此,在本發(fā)明實(shí)施例中,主要考慮中央處理器和內(nèi)存對(duì)界面卡頓的影響,根據(jù)中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的界面卡頓閾值。其中,根據(jù)中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的界面卡頓閾值,具體包括:根據(jù)中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的硬件評(píng)分;根據(jù)上述硬件評(píng)分,確定待監(jiān)測(cè)終端的界面卡頓閾值。由于終端設(shè)備中,對(duì)卡頓影響最大的就是中央處理器和內(nèi)存,因此,本發(fā)明中,根據(jù)中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的硬件評(píng)分。其中,作為一個(gè)實(shí)施例,如圖2所示,根據(jù)中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的硬件評(píng)分,包括步驟S210-S240,具體如下。S210,分別確定中央處理器和內(nèi)存的評(píng)分規(guī)則;S220,根據(jù)中央處理器的性能指標(biāo)和中央處理器的評(píng)分規(guī)則,確定中央處理器的評(píng)分;S230,根據(jù)內(nèi)存的性能指標(biāo)和內(nèi)存的評(píng)分規(guī)則,確定內(nèi)存的評(píng)分;S240,根據(jù)中央處理器的評(píng)分和內(nèi)存的評(píng)分,確定待監(jiān)測(cè)終端的硬件評(píng)分。其中,對(duì)于中央處理器而言,最重要的兩個(gè)因素就是中央處理器的主頻和內(nèi)核數(shù)量,因此,在本發(fā)明實(shí)施例中,在對(duì)中央處理器進(jìn)行評(píng)分時(shí),主要考慮中央處理器的主頻和內(nèi)核數(shù)量。當(dāng)中央處理器的主頻越高時(shí),引起界面卡頓的概率越小,即中央處理器的硬件評(píng)分越高,當(dāng)中央處理器的內(nèi)核數(shù)量越多時(shí),引起界面卡頓的概率越小,即中央處理器的硬件評(píng)分越高。因此,可以按照引起界面卡頓的概率,設(shè)定中央處理器的評(píng)分規(guī)則,即主頻越大,中央處理器的得分越高,在某個(gè)具體實(shí)施例中,不同主頻的中央處理器對(duì)應(yīng)的分?jǐn)?shù),如表1所示。表1主頻0-1G1-2G2G+分?jǐn)?shù)20分30分50分在上述表1中,當(dāng)主頻小于或等于1G時(shí),對(duì)應(yīng)的分?jǐn)?shù)為20分,當(dāng)主頻大于1G且小于或等于2G時(shí),中央處理器對(duì)應(yīng)的得分為30分,當(dāng)主頻大于或等于2G時(shí),中央處理器對(duì)應(yīng)的得分為50分。當(dāng)然,上述表1中只是給出了一種主頻的評(píng)分規(guī)則,并沒有對(duì)各個(gè)頻段對(duì)應(yīng)的分?jǐn)?shù)進(jìn)行限定,上述各個(gè)頻段對(duì)應(yīng)的分?jǐn)?shù)還可以是其它值,只要滿足主頻越大,分?jǐn)?shù)越高的原則即可。在某些具體實(shí)施例中,不同內(nèi)核數(shù)量的中央處理器對(duì)應(yīng)的評(píng)分規(guī)則,如表2所示。表2內(nèi)核數(shù)量1核心2核心4核心8核心分?jǐn)?shù)20分30分40分50分其中,在上述表2中,當(dāng)中央處理器的內(nèi)核數(shù)量小于或等于1個(gè)時(shí),中央處理器對(duì)應(yīng)的得分為20分,當(dāng)內(nèi)核數(shù)量大于1且小于或等于2個(gè)時(shí),中央處理器對(duì)應(yīng)的得分為30分,當(dāng)內(nèi)核數(shù)量大于2且小于或等于4時(shí),中央處理器對(duì)應(yīng)的得分為40分,當(dāng)內(nèi)核數(shù)量大于4且小于或等于8時(shí),中央處理器對(duì)應(yīng)的得分為50分。當(dāng)然,上述表2中只是給出了一種內(nèi)核數(shù)量對(duì)應(yīng)的評(píng)分規(guī)則,并沒有對(duì)各個(gè)核心對(duì)應(yīng)的分?jǐn)?shù)進(jìn)行限定,上述不同數(shù)量的內(nèi)核對(duì)應(yīng)的分?jǐn)?shù)還可以是其它數(shù)值,只要滿足內(nèi)核數(shù)量越多,分?jǐn)?shù)越高的原則即可。上述表1和表2給出了一種可能的評(píng)分規(guī)則,如果待監(jiān)測(cè)終端的中央處理器的主頻為2.51G,內(nèi)核的數(shù)量為8核,從上述表1中可以得出待監(jiān)測(cè)終端的中央處理器的主頻的得分為50分,內(nèi)核的得分為50分,因此,待監(jiān)測(cè)終端的中央處理器的評(píng)分為50+50=100分,即中央處理器的評(píng)分為主頻得分和內(nèi)核得分之和。待監(jiān)測(cè)終端內(nèi)存直接影響的是待監(jiān)測(cè)終端的容量,而待監(jiān)測(cè)終端的容量越大,引起界面卡頓的概率越低,待監(jiān)測(cè)終端的容量越小,引起界面卡頓的概率越高,即待監(jiān)測(cè)終端的內(nèi)存越大,引起界面卡頓的概率越低,內(nèi)存的評(píng)分越高,待監(jiān)測(cè)終端的內(nèi)存越小,引起界面卡頓的概率越高,內(nèi)存的評(píng)分越低。因此,在確定內(nèi)存的評(píng)分規(guī)則時(shí),需要滿足內(nèi)存的容量越大,內(nèi)存的評(píng)分越高的原則即可,在某個(gè)具體實(shí)施例中,內(nèi)存對(duì)應(yīng)的評(píng)分規(guī)則如表3所示。表3內(nèi)存容量512M512M-1G1G-2G2G-4G6G+分?jǐn)?shù)20分40分60分80分100分其中,在上述表3中,當(dāng)終端設(shè)備的內(nèi)容容量小于或等于512M時(shí),終端設(shè)備的內(nèi)存得分為20分,當(dāng)內(nèi)存容量大于512M且小于或等于1G時(shí),內(nèi)存對(duì)應(yīng)的得分為40分,當(dāng)內(nèi)存容量大于1G且小于或等于2G時(shí),內(nèi)存對(duì)應(yīng)的得分為60分,當(dāng)內(nèi)存容量大于2G且小于或等于4G時(shí),內(nèi)存對(duì)應(yīng)的得分為80分,當(dāng)內(nèi)存容量大于6G時(shí),內(nèi)存對(duì)應(yīng)的得分為100分。當(dāng)然,上述表3只是給出了其中一種可能的內(nèi)存的評(píng)分規(guī)則,并沒有對(duì)每個(gè)階段內(nèi)存對(duì)應(yīng)的具體的分?jǐn)?shù)進(jìn)行限定,上述每個(gè)階段對(duì)應(yīng)的內(nèi)存的得分還可以是其它數(shù)值,內(nèi)存的評(píng)分規(guī)則只要滿足內(nèi)存越大,內(nèi)存得分越高即可。通過上述過程,可以分別確定的待監(jiān)測(cè)終端的中央處理器和內(nèi)存的單項(xiàng)評(píng)分,之后,則根據(jù)中央處理器的評(píng)分和內(nèi)存的評(píng)分,確定待監(jiān)測(cè)終端的硬件評(píng)分,具體包括:分別確定中央處理器和內(nèi)存的權(quán)重;根據(jù)上述中央處理器的評(píng)分、中央處理器的權(quán)重、內(nèi)存的評(píng)分和內(nèi)存的權(quán)重,確定待監(jiān)測(cè)終端的硬件評(píng)分。其中,與內(nèi)存相比較,中央處理器對(duì)引起界面卡頓的影響更大,因此,中央處理器的權(quán)重大于內(nèi)存的權(quán)重。當(dāng)確定了中央處理器和內(nèi)存的權(quán)重后,可以通過如下公式計(jì)算待監(jiān)測(cè)終端的硬件評(píng)分,M=a×b%+c×d%其中,在上述公式中,M為待監(jiān)測(cè)終端的硬件評(píng)分,a為中央處理器的評(píng)分,b%為中央處理器的權(quán)重,c為內(nèi)存的評(píng)分,d%為內(nèi)存的權(quán)重。比如說,在某個(gè)實(shí)施例中,如果中央處理器的評(píng)分為90,內(nèi)存的評(píng)分為80,中央處理器的權(quán)重為80%,內(nèi)存的權(quán)重為20%,則根據(jù)上式可以計(jì)算出待監(jiān)測(cè)終端的硬件評(píng)分為88。當(dāng)確定了待監(jiān)測(cè)終端的硬件評(píng)分后,根據(jù)待監(jiān)測(cè)終端的硬件評(píng)分確定待監(jiān)測(cè)終端的界面卡頓閾值。待監(jiān)測(cè)終端的響應(yīng)速度隨著硬件性能的高低而有所不同,對(duì)于相同的任務(wù)量,如果終端的硬件性能較高,則可以在較短時(shí)間內(nèi)完成該任務(wù)量,如果終端的硬件性能較低,則需要較長(zhǎng)的時(shí)間才能完成上述任務(wù)量,因此,在對(duì)待監(jiān)測(cè)終端進(jìn)行界面卡頓監(jiān)測(cè)時(shí),需要根據(jù)待監(jiān)測(cè)終端硬件性能設(shè)定界面卡頓閾值,即根據(jù)待監(jiān)測(cè)終端的硬件評(píng)分,確定待監(jiān)測(cè)終端的界面卡頓閾值。如果終端的硬件評(píng)分較高,可以將終端的界面卡頓閾值設(shè)小一些,如果終端的硬件評(píng)分較低,可以將界面卡頓閾值設(shè)大一些。當(dāng)用戶在使用終端設(shè)備時(shí),如果終端設(shè)備的界面在1-2S內(nèi)沒有反應(yīng),用戶通過肉眼就可以感受到終端的界面卡頓現(xiàn)象,因此,可以建立硬件評(píng)分與界面卡頓閾值之間的對(duì)應(yīng)關(guān)系,其中,一種可能的對(duì)應(yīng)關(guān)系具體如下:60+:界面卡頓閾值1S40<x≤60:界面卡頓閾值1.5S20<x≤40:界面卡頓閾值2Sx≤20:界面卡頓閾值2.5S當(dāng)然,上述只是給出了其中一種硬件評(píng)分和界面卡頓閾值之間的對(duì)應(yīng)關(guān)系,上述不同的硬件評(píng)分還可以對(duì)應(yīng)其它數(shù)值的界面卡頓閾值,本發(fā)明實(shí)施例并沒有對(duì)上述具體的界面卡頓閾值以及硬件評(píng)分的劃分進(jìn)行限定。當(dāng)確定了待監(jiān)測(cè)終端的硬件評(píng)分后,根據(jù)待監(jiān)測(cè)終端的硬件評(píng)分以及上述對(duì)應(yīng)關(guān)系,就可以確定出待監(jiān)測(cè)終端的界面卡頓閾值。S120,實(shí)時(shí)或定期發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列,并記錄該監(jiān)測(cè)消息的發(fā)送時(shí)間,該監(jiān)測(cè)消息攜帶有消息標(biāo)識(shí)。在對(duì)待監(jiān)測(cè)終端進(jìn)行界面卡頓監(jiān)測(cè)時(shí),需要實(shí)時(shí)或定期發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列。其中,上述監(jiān)測(cè)消息可以是空消息,該監(jiān)測(cè)消息攜帶的消息表示可以是該監(jiān)測(cè)消息的編碼(Identity,ID)。當(dāng)發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列后,記錄該消息的發(fā)送時(shí)間。其中,在本發(fā)明實(shí)施例中,可以通過界面線程的消息發(fā)送者Handler發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列。具體的,可以通過Handler中的sendEmptyMessage函數(shù)發(fā)送監(jiān)測(cè)消息給界面線程的消息隊(duì)列中。上述可以通過Handler的system.currenttimemillis函數(shù)記錄上述監(jiān)測(cè)消息的發(fā)送時(shí)間。在安卓系統(tǒng)中,Handler是專門用于發(fā)送消息的工具,在本發(fā)明實(shí)施例中,可以通過Handler的構(gòu)造函數(shù)得到Handler的實(shí)例對(duì)象。在構(gòu)造函數(shù)中需要使用Lopper對(duì)象,可以通過調(diào)用Lopper.getLopper函數(shù)來獲取Lopper對(duì)象。其中,在安卓系統(tǒng)中,界面線程自帶消息循環(huán)的Lopper,消息循環(huán)的Lopper是消息循環(huán)的核心邏輯,Lopper工作在界面線程,主要任務(wù)就是進(jìn)行消息循環(huán),Lopper通過無線循環(huán)的方式進(jìn)行消息處理,當(dāng)Lopper發(fā)現(xiàn)有消息后,就會(huì)將消息取出來發(fā)送到消息隊(duì)列中,如果沒有發(fā)現(xiàn)消息,則在原地進(jìn)行輪詢查詢。S130,對(duì)消息隊(duì)列中的消息按序進(jìn)行處理,當(dāng)接收到攜帶有消息標(biāo)識(shí)的監(jiān)測(cè)消息的處理請(qǐng)求時(shí),記錄監(jiān)測(cè)消息對(duì)應(yīng)的處理請(qǐng)求的接收時(shí)間。對(duì)于消息隊(duì)列中的消息,待監(jiān)測(cè)終端會(huì)不斷的將消息隊(duì)列中的消息按照消息的在消息隊(duì)列中的順序分發(fā)給Handler對(duì)應(yīng)的消息處理函數(shù)進(jìn)行處理,Handler對(duì)應(yīng)的消息處理函數(shù)按照接收到的消息的順序?qū)ο⑦M(jìn)行處理,當(dāng)接收到上述攜帶有消息標(biāo)識(shí)的監(jiān)測(cè)消息時(shí)以及對(duì)該消息進(jìn)行處理的請(qǐng)求時(shí),Handler對(duì)應(yīng)的消息處理函數(shù)對(duì)該監(jiān)測(cè)消息進(jìn)行處理,并記錄該監(jiān)測(cè)消息以及處理請(qǐng)求的接收時(shí)間。其中,上述Handler對(duì)應(yīng)的消息處理函數(shù)可以是handlerMessage。S140,根據(jù)上述發(fā)送時(shí)間、接收時(shí)間和界面卡頓閾值,判斷待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓。其中,作為一個(gè)實(shí)施例,如圖3所示,上述根據(jù)發(fā)送時(shí)間、接收時(shí)間和界面卡頓閾值,判斷待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓,包括步驟S310-S330,具體如下。S310,確定上述發(fā)送時(shí)間和接收時(shí)間之間的時(shí)間差值;S320,將上述時(shí)間差值與界面卡頓閾值進(jìn)行比較;S330,當(dāng)上述時(shí)間差值大于或等于界面卡頓閾值時(shí),確定待監(jiān)測(cè)終端出現(xiàn)界面卡頓。其中,如果上述記錄的發(fā)送時(shí)間為t1,記錄的接收時(shí)間為t2,則將t2-t1確定為上述時(shí)間差值。將上述時(shí)間差值與待監(jiān)測(cè)終端的界面卡頓閾值進(jìn)行比較,如果上述時(shí)間差值小于界面卡頓閾值,則說明待監(jiān)測(cè)終端沒有出現(xiàn)界面卡頓,這時(shí)不做任何處理;如果上述時(shí)間差值大于或等于界面卡頓閾值,則說明待監(jiān)測(cè)終端出現(xiàn)界面卡頓情況。S150,當(dāng)確定待監(jiān)測(cè)終端出現(xiàn)界面卡頓時(shí),獲取待監(jiān)測(cè)終端在上述發(fā)送時(shí)間和接收時(shí)間之間的時(shí)間段內(nèi)的日志信息,該日志信息包括中央處理器的占用信息、內(nèi)存的占用信息及當(dāng)前運(yùn)行程序的調(diào)試信息。上述發(fā)送時(shí)間和接收時(shí)間之間的時(shí)間段確定為出現(xiàn)界面卡頓,即該時(shí)間段為界面卡頓期間。其中,上述中央處理器的占用信息可以通過調(diào)用top命令來獲取,上述內(nèi)存的占用信息可以通過調(diào)用dumpsysmemory命令來獲取。上述運(yùn)行程序的調(diào)試信息指的是開發(fā)人員在開發(fā)該程序時(shí)添加的調(diào)試信息,可以通過調(diào)用logcat命令來獲取上述時(shí)間段的調(diào)試信息。當(dāng)獲取了上述日志信息后,將獲取的日志信息寫入待監(jiān)測(cè)終端的日志文件;將上述日志文件發(fā)送給服務(wù)器。其中,為了節(jié)省待監(jiān)測(cè)終端的功耗,并不是每次將日志信息寫入日志文件后,都將該日志文件發(fā)送給服務(wù)器,因此,將日志文件發(fā)送給服務(wù)器,具體包括:將上述日志文件的大小與預(yù)設(shè)閾值進(jìn)行比較;當(dāng)上述日志文件大于或等于預(yù)設(shè)閾值時(shí),將上述日志文件發(fā)送給服務(wù)器;當(dāng)上述日志文件小于預(yù)設(shè)閾值時(shí),將日志文件保存在待監(jiān)測(cè)終端。上述預(yù)設(shè)閾值為預(yù)先設(shè)置的一個(gè)數(shù)值,該數(shù)值可以設(shè)置為1M,也可以設(shè)置為其它數(shù)值,本發(fā)明實(shí)施例并不對(duì)上述預(yù)設(shè)閾值的具體大小進(jìn)行限定。當(dāng)上述日志文件的大小大于或等于預(yù)設(shè)閾值時(shí),為了節(jié)省上傳流量,將上述日志文件進(jìn)行壓縮,并將壓縮后的文件發(fā)送給服務(wù)器,這樣開發(fā)者可以根據(jù)該日志文件分析出現(xiàn)界面卡頓的原因。如果,上述日志文件的大小小于預(yù)設(shè)閾值,將該日志文件先保存在監(jiān)測(cè)終端,當(dāng)再次寫入日志信息,使得日志文件的大小大于或等于預(yù)設(shè)閾值時(shí),再將日志文件發(fā)送給服務(wù)器。本發(fā)明實(shí)施例提供的界面卡頓監(jiān)測(cè)方法,實(shí)現(xiàn)了界面卡頓的自動(dòng)監(jiān)測(cè),并且,在監(jiān)測(cè)到出現(xiàn)界面卡頓時(shí),會(huì)獲取卡頓期間的日志信息,方便開發(fā)人員對(duì)引起卡頓的原因進(jìn)行分析,避免了通過問題復(fù)現(xiàn)來獲取卡頓期間的日志信息,節(jié)省了大量的人力和時(shí)間。實(shí)施例2本發(fā)明實(shí)施例提供了一種界面卡頓監(jiān)測(cè)裝置,如圖4所示,該裝置包括確定模塊410、第一發(fā)送模塊420、處理模塊430、判斷模塊440以及獲取模塊450;其中,上述確定模塊410,用于根據(jù)待監(jiān)測(cè)終端的中央處理器和內(nèi)存的性能指標(biāo),確定待監(jiān)測(cè)終端的界面卡頓閾值;上述第一發(fā)送模塊420,用于實(shí)時(shí)或定期發(fā)送監(jiān)測(cè)消息給界面線程對(duì)應(yīng)的消息隊(duì)列,并記錄上述監(jiān)測(cè)消息的發(fā)送時(shí)間,該監(jiān)測(cè)消息攜帶有消息標(biāo)識(shí);上述處理模塊430,用于對(duì)消息隊(duì)列中的消息按序進(jìn)行處理,當(dāng)接收到攜帶有上述消息標(biāo)識(shí)的監(jiān)測(cè)消息的處理請(qǐng)求時(shí),記錄上述監(jiān)測(cè)消息對(duì)應(yīng)的處理請(qǐng)求的接收時(shí)間;上述判斷模塊440,用于根據(jù)上述發(fā)送時(shí)間、上述接收時(shí)間和上述界面卡頓閾值,判斷待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓;上述獲取模塊450,用于當(dāng)確定待監(jiān)測(cè)終端出現(xiàn)界面卡頓時(shí),獲取待監(jiān)測(cè)終端在發(fā)送時(shí)間和接收時(shí)間之間的時(shí)間段內(nèi)的日志信息,該日志信息包括中央處理器占用信息、內(nèi)存占用信息及當(dāng)前運(yùn)行程序的調(diào)試信息。其中,上述判斷模塊440根據(jù)上述發(fā)送時(shí)間、上述接收時(shí)間和上述界面卡頓閾值,判斷待監(jiān)測(cè)終端是否出現(xiàn)界面卡頓,是通過第一確定單元、比較單元和第二確定單元來實(shí)現(xiàn)的,具體包括:上述第一確定單元,用于確定發(fā)送時(shí)間和接收時(shí)間之間的時(shí)間差值;上述比較單元,用于將上述時(shí)間差值與界面卡頓閾值進(jìn)行比較;上述第二確定單元,用于當(dāng)上述時(shí)間差值大于或等于界面卡頓閾值時(shí),確定待監(jiān)測(cè)終端出現(xiàn)界面卡頓。本發(fā)明實(shí)施例提供的界面卡頓監(jiān)測(cè)裝置,實(shí)現(xiàn)了界面卡頓的自動(dòng)監(jiān)測(cè),并且,在監(jiān)測(cè)到出現(xiàn)界面卡頓時(shí),會(huì)獲取卡頓期間的日志信息,方便開發(fā)人員對(duì)引起卡頓的原因進(jìn)行分析,避免了通過問題復(fù)現(xiàn)來獲取卡頓期間的日志信息,節(jié)省了大量的人力和時(shí)間。本發(fā)明實(shí)施例所提供的界面卡頓監(jiān)測(cè)裝置可以為設(shè)備上的特定硬件或者安裝于設(shè)備上的軟件或固件等。本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,前述描述的系統(tǒng)、裝置和單元的具體工作過程,均可以參考上述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明提供的實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋,此外,術(shù)語“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。最后應(yīng)說明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁1 2 3