亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

卡頓原因確定方法、裝置及存儲介質(zhì)與流程

文檔序號:11286023閱讀:260來源:國知局
卡頓原因確定方法、裝置及存儲介質(zhì)與流程

本公開涉及終端技術(shù)領(lǐng)域,特別涉及一種卡頓原因確定方法、裝置及存儲介質(zhì)。



背景技術(shù):

隨著電子技術(shù)的發(fā)展,人機(jī)交互的方式已經(jīng)由最初的按鍵交互方式演變?yōu)槿缃竦挠|屏交互方式,例如,用戶通過簡單的滑屏操作就可以使終端進(jìn)行相應(yīng)的畫面顯示。然而,終端在顯示畫面的過程中,由于系統(tǒng)資源(包括中央處理器(英文:centralprocessingunit;簡稱:cpu)資源、內(nèi)存資源和輸入/輸出(英文:input/output;簡稱:i/o)帶寬資源等)不足等問題,畫面往往會出現(xiàn)卡頓,導(dǎo)致畫面的流暢性差,因此確定終端上的畫面卡頓的原因是很有必要的。

相關(guān)技術(shù)中,一般將終端與電腦連接,通過電腦上的調(diào)試工具打開終端中的系統(tǒng)資源使用記錄,在預(yù)設(shè)時間段內(nèi)(一般為5至20秒)獲取終端中的部分系統(tǒng)資源使用記錄并將該部分系統(tǒng)資源使用記錄保存在電腦中,然后通過電腦將該部分系統(tǒng)資源使用記錄解析成圖表的形式,再對圖表進(jìn)行分析以確定終端上的畫面卡頓的原因。

但是,相關(guān)技術(shù)中確定終端上的畫面卡頓的原因時必須要借助電腦,確定卡頓原因的靈活性較低。



技術(shù)實(shí)現(xiàn)要素:

為了解決相關(guān)技術(shù)中確定卡頓原因的靈活性較低的問題,本公開實(shí)施例提供了一種卡頓原因確定方法、裝置及存儲介質(zhì)。所述技術(shù)方案如下:

根據(jù)本公開實(shí)施例的第一方面,提供一種卡頓原因確定方法,所述方法包括:

檢測終端的顯示畫面是否發(fā)生卡頓;

當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

可選的,所述方法還包括:

在所述終端的系統(tǒng)中劃分出所述n個緩存器,每個緩存器占用的存儲空間固定;

根據(jù)所述m種系統(tǒng)資源的最新使用記錄,更新所述n個緩存器中的內(nèi)容。

可選的,所述根據(jù)所述m種系統(tǒng)資源的最新使用記錄,更新所述n個緩存器中的內(nèi)容,包括:

獲取第一系統(tǒng)資源的最新使用記錄,所述第一系統(tǒng)資源為所述m種系統(tǒng)資源中任一種系統(tǒng)資源;

在用于存儲所述第一系統(tǒng)資源的使用記錄的第一緩存器中,刪除所述第一系統(tǒng)資源最早的使用記錄;

在所述第一緩存器中存儲所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述第一緩存器中采用第一資源鏈表存儲所述第一系統(tǒng)資源的使用記錄,所述第一資源鏈表中的所述第一系統(tǒng)資源的使用記錄按照時間先后順序依次排列;

所述在用于存儲所述第一系統(tǒng)資源的使用記錄的第一緩存器中,刪除所述第一系統(tǒng)資源最早的使用記錄,包括:

判斷所述第一資源鏈表中的表項是否全部被占用,當(dāng)所述第一資源鏈表中的表項全部被占用時,刪除所述第一資源鏈表的首個表項;

所述在所述第一緩存器存儲所述第一系統(tǒng)資源的最新使用記錄,包括:

在所述第一資源鏈表的末位增加表項,在增加的表項中記錄所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述獲取第一系統(tǒng)資源的最新使用記錄,包括:

當(dāng)監(jiān)測到所述第一系統(tǒng)資源正在被使用時,判斷所述第一系統(tǒng)資源是否為前臺正在運(yùn)行的目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源;

當(dāng)所述第一系統(tǒng)資源為所述目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源時,獲取所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述目標(biāo)應(yīng)用為任一前臺正在運(yùn)行的應(yīng)用,或者,所述目標(biāo)應(yīng)用為前臺正在運(yùn)行的指定應(yīng)用。

可選的,所述使用記錄包括使用時間段,

所述根據(jù)所述m種系統(tǒng)資源使用記錄,確定所述顯示畫面的卡頓原因,包括:

獲取卡頓信息,所述卡頓信息包括所述顯示畫面產(chǎn)生卡頓的卡頓時間段;

在所述m種系統(tǒng)資源使用記錄中確定至少一個目標(biāo)使用記錄,所述目標(biāo)使用記錄的使用時間段與所述卡頓時間段存在交集;

檢測所述至少一個目標(biāo)使用記錄是否存在異常使用記錄;

當(dāng)所述至少一個目標(biāo)使用記錄存在異常使用記錄時,確定所述顯示畫面的卡頓原因為所述異常使用記錄所對應(yīng)的系統(tǒng)資源存在異常。

可選的,所述方法還包括:

在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄之前,鎖定所述n個緩存器,以使所述n個緩存器中的系統(tǒng)資源使用記錄停止更新;

在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄之后,

對所述n個緩存器進(jìn)行解鎖,以使所述n個緩存器中的系統(tǒng)資源使用記錄繼續(xù)更新。

可選的,每個緩存器用于存儲一種系統(tǒng)資源的使用記錄。

可選的,所述m種系統(tǒng)資源包括內(nèi)存資源、中央處理器cpu資源和輸入輸出帶寬資源中的至少一種。

根據(jù)本公開實(shí)施例的第二方面,提供一種卡頓原因確定裝置,所述裝置包括:

檢測模塊,被配置為檢測終端的顯示畫面是否發(fā)生卡頓;

提取模塊,被配置為當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

確定模塊,被配置為根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

可選的,所述裝置還包括:

劃分模塊,被配置為在所述終端的系統(tǒng)中劃分出所述n個緩存器,每個緩存器占用的存儲空間固定;

更新模塊,被配置為根據(jù)所述m種系統(tǒng)資源的最新使用記錄,更新所述n個緩存器中的內(nèi)容。

可選的,所述更新模塊,包括:

第一獲取子模塊,被配置為獲取第一系統(tǒng)資源的最新使用記錄,所述第一系統(tǒng)資源為所述m種系統(tǒng)資源中任一種系統(tǒng)資源;

刪除子模塊,被配置為在用于存儲所述第一系統(tǒng)資源的使用記錄的第一緩存器中,刪除所述第一系統(tǒng)資源最早的使用記錄;

存儲子模塊,被配置為在所述第一緩存器中存儲所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述第一緩存器中采用第一資源鏈表存儲所述第一系統(tǒng)資源的使用記錄,所述第一資源鏈表中的所述第一系統(tǒng)資源的使用記錄按照時間先后順序依次排列;

所述刪除子模塊,被配置為:

判斷所述第一資源鏈表中的表項是否全部被占用,當(dāng)所述第一資源鏈表中的表項全部被占用時,刪除所述第一資源鏈表的首個表項;

所述存儲子模塊,被配置為:

在所述第一資源鏈表的末位增加表項,在增加的表項中記錄所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述第一獲取子模塊,被配置為:

當(dāng)監(jiān)測到所述第一系統(tǒng)資源正在被使用時,判斷所述第一系統(tǒng)資源是否為前臺正在運(yùn)行的目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源;

當(dāng)所述第一系統(tǒng)資源為所述目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源時,獲取所述第一系統(tǒng)資源的最新使用記錄。

可選的,所述目標(biāo)應(yīng)用為任一前臺正在運(yùn)行的應(yīng)用,或者,所述目標(biāo)應(yīng)用為前臺正在運(yùn)行的指定應(yīng)用。

可選的,所述使用記錄包括使用時間段,

所述確定模塊,包括:

第二獲取子模塊,被配置為獲取卡頓信息,所述卡頓信息包括所述顯示畫面產(chǎn)生卡頓的卡頓時間段;

第一確定子模塊,被配置為在所述m種系統(tǒng)資源使用記錄中確定至少一個目標(biāo)使用記錄,所述目標(biāo)使用記錄的使用時間段與所述卡頓時間段存在交集;

檢測子模塊,被配置為檢測所述至少一個目標(biāo)使用記錄是否存在異常使用記錄;

第二確定子模塊,被配置為當(dāng)所述至少一個目標(biāo)使用記錄存在異常使用記錄時,確定所述顯示畫面的卡頓原因為所述異常使用記錄所對應(yīng)的系統(tǒng)資源存在異常。

可選的,所述裝置還包括:

鎖定模塊,被配置為鎖定所述n個緩存器,以使所述n個緩存器中的系統(tǒng)資源使用記錄停止更新;

解鎖模塊,被配置為對所述n個緩存器進(jìn)行解鎖,以使所述n個緩存器中的系統(tǒng)資源使用記錄繼續(xù)更新。

可選的,每個緩存器用于存儲一種系統(tǒng)資源的使用記錄。

可選的,所述m種系統(tǒng)資源包括內(nèi)存資源、中央處理器cpu資源和輸入輸出帶寬資源中的至少一種。

根據(jù)本公開實(shí)施例的第三方面,提供一種卡頓原因確定裝置,包括:

處理器;

用于存儲所述處理器的可執(zhí)行指令的存儲器;

其中,所述處理器被配置為:

檢測終端的顯示畫面是否發(fā)生卡頓;

當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

根據(jù)本公開實(shí)施例的第四方面,提供一種存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由終端的處理器執(zhí)行時,使得所述終端能夠執(zhí)行一種卡頓原因確定方法,所述方法包括:

檢測終端的顯示畫面是否發(fā)生卡頓;

當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

本公開實(shí)施例提供的卡頓原因確定方法、裝置及存儲介質(zhì),可以在終端中預(yù)先設(shè)置n個緩存器,并將m種系統(tǒng)資源的使用記錄存儲在該n個緩存器中,當(dāng)檢測到終端的顯示畫面發(fā)生卡頓時,可以根據(jù)終端的緩存器中的該m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因,無需借助電腦確定顯示畫面的卡頓原因,提高了確定卡頓原因的靈活性。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。

附圖說明

為了更清楚地說明本公開的實(shí)施例,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本公開一示意性實(shí)施例提供的一種卡頓原因確定方法的流程圖。

圖2-1是本公開一示意性實(shí)施例提供的另一種卡頓原因確定方法的流程圖。

圖2-2是本公開一示意性實(shí)施例提供的一種更新緩存器內(nèi)容的方法流程圖。

圖2-3a是本公開一示意性實(shí)施例提供的一種緩存器的數(shù)據(jù)結(jié)構(gòu)示意圖。

圖2-3b是本公開一示意性實(shí)施例提供的另一種緩存器的數(shù)據(jù)結(jié)構(gòu)示意圖。

圖2-3c是本公開一示意性實(shí)施例提供的又一種緩存器的數(shù)據(jù)結(jié)構(gòu)示意圖。

圖2-4是本公開一示意性實(shí)施例提供的一種確定顯示畫面的卡頓原因的方法流程圖。

圖3-1是根據(jù)一示例性實(shí)施例示出的一種卡頓原因確定裝置的框圖。

圖3-2是根據(jù)一示例性實(shí)施例示出的另一種卡頓原因確定裝置的框圖。

圖3-3是根據(jù)一示例性實(shí)施例示出的一種更新模塊的框圖。

圖3-4是根據(jù)一示例性實(shí)施例示出的一種確定模塊的框圖。

圖3-5是根據(jù)一示例性實(shí)施例示出的又一種卡頓原因確定裝置的框圖。

圖4是根據(jù)一示例性實(shí)施例示出的一種用于卡頓原因確定裝置的框圖。

此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。

具體實(shí)施方式

為了使本公開的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本公開作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本公開一部份實(shí)施例,而不是全部的實(shí)施例。基于本公開中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本公開保護(hù)的范圍。

圖1是本公開一示意性實(shí)施例提供的一種卡頓原因確定方法的流程圖,該方法可以應(yīng)用于終端,如圖1所示,該方法包括:

步驟101、檢測終端的顯示畫面是否發(fā)生卡頓。

步驟102、當(dāng)顯示畫面發(fā)生卡頓時,在終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1。

步驟103、根據(jù)m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因。

綜上所述,本公開實(shí)施例提供的卡頓原因確定方法,可以在終端中預(yù)先設(shè)置n個緩存器,并將m種系統(tǒng)資源的使用記錄存儲在該n個緩存器中,當(dāng)檢測到終端的顯示畫面發(fā)生卡頓時,可以根據(jù)終端的緩存器中的該m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因,無需借助電腦確定顯示畫面的卡頓原因,提高了確定卡頓原因的靈活性。

本公開實(shí)施例提供的卡頓原因確定方法可以應(yīng)用于安裝有安卓系統(tǒng)的終端,圖2-1是本公開一示意性實(shí)施例提供的一種卡頓原因確定方法的流程圖,如圖2-1所示,該方法包括:

步驟201、在終端的系統(tǒng)中劃分出n個緩存器,該n個緩存器用于存儲m種系統(tǒng)資源的使用記錄,n≥1,m≥1。

實(shí)際應(yīng)用中,可以在安卓系統(tǒng)的linux內(nèi)核中劃分出n個緩存器,該n個緩存器可以存儲m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄。

可選的,每個緩存器可以用于存儲一種系統(tǒng)資源的使用記錄,一種系統(tǒng)資源的使用記錄存儲在單獨(dú)的緩存器中,便于系統(tǒng)資源的使用記錄的分類,為后期從緩存器中提取相應(yīng)種類的系統(tǒng)資源的使用記錄提供了便利。

可選的,m種系統(tǒng)資源可以包括內(nèi)存資源、cpu資源和i/o帶寬資源中的至少一種。

需要說明的是,每個緩存器占用的存儲空間固定,可選的,每個緩存器占用的存儲空間可以為8千字節(jié)(英文:kilobyte;簡稱:kb)。

步驟202、根據(jù)m種系統(tǒng)資源的最新使用記錄,更新n個緩存器中的內(nèi)容。

可選的,根據(jù)m種系統(tǒng)資源的最新使用記錄,更新n個緩存器中的內(nèi)容的方法,如圖2-2所示,可以包括:

步驟2021、獲取第一系統(tǒng)資源的最新使用記錄,該第一系統(tǒng)資源為m種系統(tǒng)資源中任一種系統(tǒng)資源。

可選的,獲取第一系統(tǒng)資源的最新使用記錄的方法,可以包括:

s11、當(dāng)監(jiān)測到第一系統(tǒng)資源正在被使用時,判斷第一系統(tǒng)資源是否為前臺正在運(yùn)行的目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源。

在本公開實(shí)施例中,目標(biāo)應(yīng)用是預(yù)先設(shè)定的需要存儲器記錄系統(tǒng)資源的使用記錄的應(yīng)用。可選的,該目標(biāo)應(yīng)用可以為任一前臺正在運(yùn)行的應(yīng)用,例如,假設(shè)用戶當(dāng)前在終端的顯示畫面上使用米聊,則米聊為一目標(biāo)應(yīng)用,需要判斷第一系統(tǒng)資源是否為米聊所對應(yīng)的系統(tǒng)資源,也即是判斷第一系統(tǒng)資源是否為米聊所占用的系統(tǒng)資源;或者,目標(biāo)應(yīng)用可以為前臺正在運(yùn)行的指定應(yīng)用,例如指定應(yīng)用包括米聊、小米桌面和小米視頻,當(dāng)前臺正在運(yùn)行米聊時,則米聊為一目標(biāo)應(yīng)用,需要判斷第一系統(tǒng)資源是否為米聊所占用的系統(tǒng)資源。

s12、當(dāng)?shù)谝幌到y(tǒng)資源為目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源時,獲取第一系統(tǒng)資源的最新使用記錄。

步驟2022、在用于存儲第一系統(tǒng)資源的使用記錄的第一緩存器中,刪除第一系統(tǒng)資源最早的使用記錄。

可選的,第一緩存器中可以采用第一資源鏈表存儲第一系統(tǒng)資源的使用記錄,該第一資源鏈表中的第一系統(tǒng)資源的使用記錄按照時間先后順序依次排列。

可選的,假設(shè)每個緩存器中存儲一種系統(tǒng)資源的使用記錄,定義存儲內(nèi)存資源的使用記錄的緩存器為buffer1,存儲cpu資源的使用記錄的緩存器為buffer2,存儲i/o帶寬資源的使用記錄的緩存器為buffer3。buffer1的數(shù)據(jù)結(jié)構(gòu)可以如圖2-3a所示,buffer1中記錄了開始請求內(nèi)存分配的第一時間戳t1,目標(biāo)應(yīng)用對應(yīng)的進(jìn)程標(biāo)識pid以及從開始請求內(nèi)存分配到分配到內(nèi)存過程的時長d1;buffer2的數(shù)據(jù)結(jié)構(gòu)可以如圖2-3b所示,buffer2中記錄了cpu開始調(diào)度的第二時間戳t2,目標(biāo)應(yīng)用對應(yīng)的進(jìn)程標(biāo)識pid以及cpu調(diào)度的持續(xù)時長d2;buffer3的數(shù)據(jù)結(jié)構(gòu)可以如圖2-3c所示,buffer3中記錄了開始i/o的第三時間戳t3,目標(biāo)應(yīng)用對應(yīng)的進(jìn)程標(biāo)識pid以及i/o的持續(xù)時長d3。

示例的,假設(shè)第一系統(tǒng)資源為cpu資源,則如圖2-3b所示,第一資源鏈表buffer2中第一系統(tǒng)資源的使用記錄從上至下按照時間先后順序依次排列,假設(shè)第一資源鏈表buffer2中一共可以存儲q條使用記錄,表項data1存儲第一系統(tǒng)資源的使用記錄中最早的使用記錄,表項dataq存儲第一系統(tǒng)資源的使用記錄中最新的使用記錄。假設(shè)第一資源鏈表buffer2中一共可以存儲3條使用記錄,3條使用記錄的時間戳分別為9:00、9:05和9:10,則表項data1存儲9:00對應(yīng)的使用記錄,表項dataq存儲9:10對應(yīng)的使用記錄。

可選的,在用于存儲第一系統(tǒng)資源的第一緩存器中,刪除第一系統(tǒng)資源最早的使用記錄的方法,可以包括:

判斷第一資源鏈表中的表項是否全部被占用,當(dāng)?shù)谝毁Y源鏈表中的表項全部被占用時,刪除第一資源鏈表的首個表項。

示例的,如圖2-3b所示,當(dāng)?shù)谝毁Y源鏈表buffer2中的q個表項全部被占用時,刪除第一資源鏈表的首個表項也即是刪除表項data1,則原先表項data2成為新的表項data1,原先的表項dataq成為表項dataq-1。

需要說明的是,由于緩存器中只存儲目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源的使用記錄,緩存器中可以存儲過去幾秒內(nèi)目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源的使用記錄,便于后期提取目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源的使用記錄。

步驟2023、在第一緩存器中存儲第一系統(tǒng)資源的最新使用記錄。

可選的,在第一緩存器中存儲第一系統(tǒng)資源的最新使用記錄的方法,可以包括:

在第一資源鏈表的末位增加表項,在增加的表項中記錄第一系統(tǒng)資源的最新使用記錄。

示例的,如圖2-3b所示,在第一資源鏈表buffer2的表項dataq-1的后面增加表項dataq,在表項dataq中記錄第一系統(tǒng)資源的最新使用記錄。

步驟203、檢測終端的顯示畫面是否發(fā)生卡頓。

可選的,可以在終端中預(yù)先設(shè)置在終端的顯示界面上的一次滑屏操作對應(yīng)的終端所需繪制的圖像幀的幀數(shù),假設(shè)在終端的顯示界面上進(jìn)行一次滑屏操作,終端需要繪制30個圖像幀,則可以檢測預(yù)設(shè)時間內(nèi)用戶對顯示界面的滑屏操作的次數(shù)與終端繪制的圖像幀的幀數(shù)是否滿足公式:圖像幀的幀數(shù)=滑屏操作的次數(shù)×30,當(dāng)不滿足該公式時,確定終端的顯示畫面發(fā)生卡頓。

步驟204、當(dāng)顯示畫面發(fā)生卡頓時,鎖定n個緩存器,以使n個緩存器中的系統(tǒng)資源使用記錄停止更新。

需要說明的是,當(dāng)顯示畫面發(fā)生卡頓時,鎖定該n個緩存器,可以防止該n個緩存器中的系統(tǒng)資源使用記錄繼續(xù)更新,導(dǎo)致顯示畫面發(fā)生卡頓時的系統(tǒng)資源使用記錄被刪除。

步驟205、提取m種系統(tǒng)資源的使用記錄。

可選的,可以從鎖定的n個緩存器中提取目標(biāo)應(yīng)用對應(yīng)的m種系統(tǒng)資源的使用記錄。

步驟206、對n個緩存器進(jìn)行解鎖,以使n個緩存器中的系統(tǒng)資源使用記錄繼續(xù)更新。

需要說明的是,在提取m種系統(tǒng)資源的使用記錄之后,對n個緩存器進(jìn)行解鎖,使得該n個緩存器中的系統(tǒng)資源使用記錄得以更新。

步驟207、根據(jù)m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因。

可選的,該使用記錄可以包括系統(tǒng)資源的使用時間段,實(shí)際應(yīng)用中,如圖2-3a至2-3c所示,該使用記錄可以包括開始時間戳和使用持續(xù)時長,根據(jù)開始時間戳和使用持續(xù)時長可以獲取系統(tǒng)資源的使用時間段。

可選的,根據(jù)m種系統(tǒng)資源使用記錄,確定顯示畫面的卡頓原因的方法,如圖2-4所示,可以包括:

步驟2071、獲取卡頓信息,該卡頓信息包括顯示畫面產(chǎn)生卡頓的卡頓時間段。

需要說明的是,可以在檢測終端的顯示畫面是否發(fā)生卡頓的過程中,當(dāng)確定終端的顯示畫面發(fā)生卡頓時,獲取卡頓信息。

可選的,當(dāng)終端的顯示畫面發(fā)生卡頓時,也即是終端所繪制的圖像幀中存在“掉幀”時,可以獲取掉幀的時間段,也即是顯示畫面產(chǎn)生卡頓的卡頓時間段。

步驟2072、在m種系統(tǒng)資源使用記錄中確定至少一個目標(biāo)使用記錄,該目標(biāo)使用記錄的使用時間段與卡頓時間段存在交集。

示例的,假設(shè)卡頓時間段為10秒至11秒,卡頓持續(xù)時長為1秒,以cpu資源為例進(jìn)行說明,由于一次cpu調(diào)度的持續(xù)時長一般在10毫秒以內(nèi),因此在卡頓時間段內(nèi),緩存器buffer2中可以記錄有多個時間段的目標(biāo)使用記錄。

步驟2073、檢測至少一個目標(biāo)使用記錄是否存在異常使用記錄。

示例的,以卡頓時長為1秒為例進(jìn)行說明,以卡頓時長的四分之一的時長也即是0.25秒為閾值。當(dāng)目標(biāo)使用記錄為內(nèi)存資源的使用記錄時,檢測1秒內(nèi)目標(biāo)應(yīng)用從開始請求內(nèi)存分配到分配到內(nèi)存的過程的時長的總和total1是否超過0.25秒,當(dāng)total1超過0.25秒時,確定內(nèi)存資源的使用記錄存在異常使用記錄;當(dāng)目標(biāo)使用記錄為cpu資源的使用記錄時,檢測1秒內(nèi)cpu調(diào)度的持續(xù)時長的時長的總和total2是否少于0.75秒,當(dāng)total2少于0.75秒時,確定cpu資源的使用記錄存在異常使用記錄;當(dāng)目標(biāo)使用記錄為i/o帶寬資源的使用記錄時,1秒內(nèi)i/o的持續(xù)時長的總和total3是否超過0.25秒,當(dāng)total3超過0.25秒時,確定i/o帶寬資源的使用記錄存在異常使用記錄?;蛘撸?dāng)total1、total2和total3都不滿足上述條件時,確定(0.25-total1)、(total2-0.75)和(0.25-total3)中數(shù)值的最小的對應(yīng)的系統(tǒng)資源存在異常。

步驟2074、當(dāng)至少一個目標(biāo)使用記錄存在異常使用記錄時,確定顯示畫面的卡頓原因為該異常使用記錄所對應(yīng)的系統(tǒng)資源存在異常。

可選的,當(dāng)內(nèi)存資源的使用記錄存在異常使用記錄時,確定內(nèi)存資源存在異常;當(dāng)cpu資源的使用記錄存在異常使用記錄,確定cpu資源存在異常;當(dāng)i/o帶寬資源的使用記錄存在異常使用記錄時,確定i/o帶寬資源存在異常。

實(shí)際應(yīng)用中,在確定顯示畫面的卡頓原因后,卡頓處理模塊可以根據(jù)該卡頓原因進(jìn)行相關(guān)處理,例如,卡頓原因為cpu資源存在異常,則卡頓處理模塊可以在終端的顯示畫面上進(jìn)行提示,提示用戶關(guān)閉后臺占用cpu資源的應(yīng)用等。

需要說明的是,本公開實(shí)施例提供的卡頓原因確定方法步驟的先后順序可以進(jìn)行適當(dāng)調(diào)整,步驟也可以根據(jù)情況進(jìn)行相應(yīng)增減,例如步驟202與步驟203的位置可以交換,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本公開揭露的技術(shù)范圍內(nèi),可輕易想到變化的方法,都應(yīng)涵蓋在本公開的保護(hù)范圍之內(nèi),因此不再贅述。

綜上所述,本公開實(shí)施例提供的卡頓原因確定方法,可以在終端中預(yù)先設(shè)置n個緩存器,并將m種系統(tǒng)資源的使用記錄存儲在該n個緩存器中,當(dāng)檢測到終端的顯示畫面發(fā)生卡頓時,可以根據(jù)終端的緩存器中的該m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因,無需借助電腦確定顯示畫面的卡頓原因,提高了確定卡頓原因的靈活性。

圖3-1是根據(jù)一示例性實(shí)施例示出的一種卡頓原因確定裝置30的框圖,如圖3-1所示,該裝置30可以包括:

檢測模塊301,被配置為檢測終端的顯示畫面是否發(fā)生卡頓。

提取模塊302,被配置為當(dāng)顯示畫面發(fā)生卡頓時,在終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1。

確定模塊303,被配置為根據(jù)m種系統(tǒng)資源的使用記錄,確定顯示畫面的卡頓原因。

綜上所述,本公開實(shí)施例提供的卡頓原因確定裝置,可以在終端中預(yù)先設(shè)置n個緩存器,并將m種系統(tǒng)資源的使用記錄存儲在該n個緩存器中,當(dāng)通過檢測模塊檢測到終端的顯示畫面發(fā)生卡頓時,可以通過提取模塊獲取終端的緩存器中的該m種系統(tǒng)資源的使用記錄,再通過確定模塊確定顯示畫面的卡頓原因,無需借助電腦確定顯示畫面的卡頓原因,提高了確定卡頓原因的靈活性。

可選的,如圖3-2所示,該裝置30還可以包括:

劃分模塊304,被配置為在終端的系統(tǒng)中劃分出n個緩存器,每個緩存器占用的存儲空間固定。

更新模塊305,被配置為根據(jù)m種系統(tǒng)資源的最新使用記錄,更新n個緩存器中的內(nèi)容。

可選的,如圖3-3所示,更新模塊305,可以包括:

第一獲取子模塊3051,被配置為獲取第一系統(tǒng)資源的最新使用記錄,該第一系統(tǒng)資源為m種系統(tǒng)資源中任一種系統(tǒng)資源。

刪除子模塊3052,被配置為在用于存儲第一系統(tǒng)資源的使用記錄的第一緩存器中,刪除第一系統(tǒng)資源最早的使用記錄。

存儲子模塊3053,被配置為在第一緩存器中存儲第一系統(tǒng)資源的最新使用記錄。

實(shí)際應(yīng)用中,第一緩存器中可以采用第一資源鏈表存儲第一系統(tǒng)資源的使用記錄,該第一資源鏈表中的第一系統(tǒng)資源的使用記錄按照時間先后順序依次排列。

相應(yīng)的,刪除子模塊3052,被配置為:判斷第一資源鏈表中的表項是否全部被占用,當(dāng)?shù)谝毁Y源鏈表中的表項全部被占用時,刪除第一資源鏈表的首個表項;存儲子模塊3053,被配置為:在第一資源鏈表的末位增加表項,在增加的表項中記錄第一系統(tǒng)資源的最新使用記錄。

可選的,第一獲取子模塊3051,可以被配置為:

當(dāng)監(jiān)測到第一系統(tǒng)資源正在被使用時,判斷第一系統(tǒng)資源是否為前臺正在運(yùn)行的目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源;當(dāng)?shù)谝幌到y(tǒng)資源為目標(biāo)應(yīng)用所對應(yīng)的系統(tǒng)資源時,獲取第一系統(tǒng)資源的最新使用記錄。

可選的,目標(biāo)應(yīng)用可以為任一前臺正在運(yùn)行的應(yīng)用,或者,目標(biāo)應(yīng)用可以為前臺正在運(yùn)行的指定應(yīng)用。

可選的,使用記錄可以包括使用時間段,如圖3-4所示,確定模塊303,可以包括:

第二獲取子模塊3031,被配置為獲取卡頓信息,該卡頓信息包括顯示畫面產(chǎn)生卡頓的卡頓時間段。

第一確定子模塊3032,被配置為在m種系統(tǒng)資源使用記錄中確定至少一個目標(biāo)使用記錄,該目標(biāo)使用記錄的使用時間段與卡頓時間段存在交集。

檢測子模塊3033,被配置為檢測至少一個目標(biāo)使用記錄是否存在異常使用記錄。

第二確定子模塊3034,被配置為當(dāng)至少一個目標(biāo)使用記錄存在異常使用記錄時,確定顯示畫面的卡頓原因為該異常使用記錄所對應(yīng)的系統(tǒng)資源存在異常。

進(jìn)一步的,如圖3-5所示,裝置30還可以包括:

鎖定模塊306,被配置為鎖定n個緩存器,以使該n個緩存器中的系統(tǒng)資源使用記錄停止更新。

解鎖模塊307,被配置為對n個緩存器進(jìn)行解鎖,以使該n個緩存器中的系統(tǒng)資源使用記錄繼續(xù)更新。

可選的,每個緩存器可以用于存儲一種系統(tǒng)資源的使用記錄。

可選的,m種系統(tǒng)資源包括內(nèi)存資源、cpu資源和i/o帶寬資源中的至少一種。

綜上所述,本公開實(shí)施例提供的卡頓原因確定裝置,可以在終端中預(yù)先設(shè)置n個緩存器,并將m種系統(tǒng)資源的使用記錄存儲在該n個緩存器中,當(dāng)通過檢測模塊檢測到終端的顯示畫面發(fā)生卡頓時,可以通過提取模塊獲取終端的緩存器中的該m種系統(tǒng)資源的使用記錄,再通過確定模塊確定顯示畫面的卡頓原因,無需借助電腦確定顯示畫面的卡頓原因,提高了確定卡頓原因的靈活性。

關(guān)于上述實(shí)施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。

本公開實(shí)施例提供一種卡頓原因確定裝置,包括:

處理器;

用于存儲所述處理器的可執(zhí)行指令的存儲器;

其中,所述處理器被配置為:

檢測終端的顯示畫面是否發(fā)生卡頓;

當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

圖4是根據(jù)一示例性實(shí)施例示出的一種用于卡頓原因確定裝置400的框圖。例如,裝置400可以是移動電話,計算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。

參照圖4,裝置400可以包括以下一個或多個組件:處理組件402,存儲器404,電源組件406,多媒體組件408,音頻組件410,輸入/輸出(i/o)的接口412,傳感器組件414,以及通信組件416。

處理組件402通??刂蒲b置400的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件402可以包括一個或多個處理器420來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件402可以包括一個或多個模塊,便于處理組件402和其他組件之間的交互。例如,處理組件402可以包括多媒體模塊,以方便多媒體組件408和處理組件402之間的交互。

存儲器404被配置為存儲各種類型的數(shù)據(jù)以支持在裝置400的操作。這些數(shù)據(jù)的示例包括用于在裝置400上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器404可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。

電源組件406為裝置400的各種組件提供電力。電源組件406可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置400生成、管理和分配電力相關(guān)聯(lián)的組件。

多媒體組件408包括在所述裝置400和用戶之間的提供一個輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實(shí)施例中,多媒體組件408包括一個前置攝像頭和/或后置攝像頭。當(dāng)裝置400處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。

音頻組件410被配置為輸出和/或輸入音頻信號。例如,音頻組件410包括一個麥克風(fēng)(mic),當(dāng)裝置400處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器404或經(jīng)由通信組件416發(fā)送。在一些實(shí)施例中,音頻組件410還包括一個揚(yáng)聲器,用于輸出音頻信號。

i/o接口412為處理組件402和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。

傳感器組件414包括一個或多個傳感器,用于為裝置400提供各個方面的狀態(tài)評估。例如,傳感器組件414可以檢測到裝置400的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置400的顯示器和小鍵盤,傳感器組件414還可以檢測裝置400或裝置400一個組件的位置改變,用戶與裝置400接觸的存在或不存在,裝置400方位或加速/減速和裝置400的溫度變化。傳感器組件414可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件414還可以包括光傳感器,如cmos或ccd圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件414還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。

通信組件416被配置為便于裝置400和其他設(shè)備之間有線或無線方式的通信。裝置400可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如wifi,2g或3g,或它們的組合。在一個示例性實(shí)施例中,通信組件416經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實(shí)施例中,所述通信組件416還包括近場通信(nfc)模塊,以促進(jìn)短程通信。例如,在nfc模塊可基于射頻識別(rfid)技術(shù),紅外數(shù)據(jù)協(xié)會(irda)技術(shù),超寬帶(uwb)技術(shù),藍(lán)牙(bt)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。

在示例性實(shí)施例中,裝置400可以被一個或多個應(yīng)用專用集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場可編程門陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。

在示例性實(shí)施例中,還提供了一種包括指令的非臨時性計算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器404,上述指令可由裝置400的處理器420執(zhí)行以完成上述方法。例如,所述非臨時性計算機(jī)可讀存儲介質(zhì)可以是rom、隨機(jī)存取存儲器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。

一種非臨時性計算機(jī)可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由裝置400的處理器執(zhí)行時,使得裝置400能夠執(zhí)行一種卡頓原因確定方法,所述方法包括:

檢測終端的顯示畫面是否發(fā)生卡頓;

當(dāng)所述顯示畫面發(fā)生卡頓時,在所述終端中預(yù)先設(shè)置的n個緩存器中提取m種系統(tǒng)資源的使用記錄,其中,每個緩存器用于存儲至少一種系統(tǒng)資源的使用記錄,n≥1,m≥1;

根據(jù)所述m種系統(tǒng)資源的使用記錄,確定所述顯示畫面的卡頓原因。

其中,該裝置400可以為終端。

本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本公開的其它實(shí)施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1