一種資源動態調整方法及裝置與流程
2024-04-01 00:05:05 1

本發明資源調控領域,尤其涉及一種資源動態調整方法及裝置。
背景技術:
隨著直播視頻的越來越普及,在智能終端上進行直播,以及在智能終端上觀看視頻直播越來越普遍,相比電腦進行直播或者觀看直播視頻,更便捷。
相比錄製視頻,直播視頻對畫面流暢度要求更高,錄製視頻可以通過暫停緩衝來繼續視頻的播放,但是受到智能終端自身設備的限制,在智能終端上播放直播視頻會出現直播視頻界面卡頓的問題,進而導致直播視頻不連續甚至閃退出直播視頻。
技術實現要素:
鑑於上述問題,本發明實施例通過提供一種資源動態調整方法及裝置,以確保有足夠的資源維持視頻播放。
第一方面,本發明實施例提供了一種資源動態調整方法,包括:
在第一視頻播放應用處於前臺播放視頻過程中,檢測資源的當前總佔用量,所述資源用於維持包括所述第一視頻播放應用的多個應用運行;
判斷所述資源的當前總佔用量是否大於預設閾值;
如果所述資源的當前總佔用量大於所述預設閾值,停止當前佔用所述資源的至少一個後臺運行應用。
優選的,所述檢測資源的當前總佔用量,包括:
通過開啟新的定長線程檢測CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。
優選的,如果所述資源包括CPU資源,所述檢測資源的當前總佔用量,包括:
調用性能分析命令;
獲取執行所述性能分析命令的返回值,所述返回值中包括所述CPU資源的當前總佔用量和各個應用分別對所述CPU資源的佔用量;
從所述返回值中確定出對所述CPU資源的當前總佔用量。
優選的,如果所述資源包括網速資源,所述檢測資源的當前總佔用量,包括:
按照預設時間間隔獲取上傳流量值;
基於相鄰兩次獲取的所述上傳流量值之間的差異值確定出所述網速資源的當前總佔用量。
優選的,所述基於相鄰兩次獲取的所述上傳流量之間的差異值確定出所述網速資源的當前總佔用量包括:
在第n次獲取的上傳流量值時,確定出第n次獲取的上傳流量值與第n-1次獲取的上傳流量值之間的流量差值;
基於所述流量差值與所述預設時間間隔確定出所述網速資源的當前總佔用量,n依次為大於1的整數。
優選的,所述判斷所述資源的當前總佔用量是否大於預設閾值,包括:
判斷所述CPU資源的當前總佔用量是否大於預設CPU佔用量閾值,和/或
判斷所述網速資源的當前總佔用量是否大於預設網速佔用量閾值。
優選的,所述停止當前佔用所述資源的至少一個後臺運行應用,包括:
根據預設優先級停止當前佔用所述資源的至少一個後臺運行應用。
優選的,所述根據預設優先級停止當前佔用所述資源的至少一個後臺運行應用,包括:
查詢當前佔用所述資源的各個後臺運行應用分別對所述資源的佔用量;
基於所述各個後臺運行應用分別對所述資源的佔用量,從所述各個後臺運行應用中定位出當前對所述資源的佔用量優先級最高的後臺運行應用,或者定位出當前對所述資源的佔用量優先級大於第一預設量值的M個後臺運行應用,M為大於1的整數;
停止定位出的後臺運行應用。
優選的,所述根據預設優先級停止當前佔用所述資源的至少一個後臺運行應用,包括:
查詢當前佔用所述資源的各個後臺運行應用的類型信息;
基於所述各個後臺運行應用的類型信息,從所述各個後臺運行應用中定位出重要性優先級最低的後臺運行應用,或者定位出重要性優先級小於第二預設量值的K個後臺運行應用,K為大於1的整數;
停止定位出的後臺運行應用。
第二方面,本發明實施例提供了一種資源動態調整裝置,包括:
資源監控單元,用於在第一視頻播放應用處於前臺播放視頻過程中,檢測資源的當前總佔用量,所述資源用於維持包括所述第一視頻播放應用的多個應用運行;
判斷單元,用於判斷所述資源的當前總佔用量是否大於預設閾值;
應用停止單元,用於如果所述資源的當前總佔用量大於所述預設閾值,停止當前佔用所述資源的至少一個後臺運行應用。
優選的,所述資源監控單元,具體用於:
通過開啟新的定長線程檢測CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。
優選的,如果所述資源包括CPU資源,所述資源監控單元,包括:
命令調用子單元,用於調用性能分析命令;
返回值獲取子單元,用於獲取執行所述性能分析命令的返回值,所述返回值中包括所述CPU資源的當前總佔用量和各個應用分別對所述CPU資源的佔用量;
確定子單元,用於從所述返回值中確定出對所述CPU資源的當前總佔用量。
優選的,如果所述資源包括網速資源,所述資源監控單元,包括:
流量監控子單元,按照預設時間間隔獲取上傳流量值;
差異計算子單元,用於基於相鄰兩次獲取的所述上傳流量值之間的差異值確定出所述網速資源的當前總佔用量。
優選的,所述差異計算子單元,具體用於:
在第n次獲取的上傳流量值時,確定出第n次獲取的上傳流量值與第n-1次獲取的上傳流量值之間的流量差值;
基於所述流量差值與所述預設時間間隔確定出所述網速資源的當前總佔用量,n依次為大於1的整數。
優選的,所述判斷單元,具體用於:
判斷所述CPU資源的當前總佔用量是否大於預設CPU佔用量閾值,和/或
判斷所述網速資源的當前總佔用量是否大於預設網速佔用量閾值。
優選的,所述應用停止單元,具體用於:
根據預設優先級停止當前佔用所述資源的至少一個後臺運行應用。
所述應用停止單元,具體用於:
查詢當前佔用所述資源的各個後臺運行應用分別對所述資源的佔用量;
基於所述各個後臺運行應用分別對所述資源的佔用量,從所述各個後臺運行應用中定位出當前對所述資源的佔用量優先級最高的後臺運行應用,或者定位出當前對所述資源的佔用量優先級大於第一預設量值的M個後臺運行應用,M為大於1的整數;
停止定位出的後臺運行應用。
所述應用停止單元,具體用於:
查詢當前佔用所述資源的各個後臺運行應用的類型信息;
基於所述各個後臺運行應用的類型信息,從所述各個後臺運行應用中定位出重要性優先級最低的後臺運行應用,或者定位出重要性優先級小於第二預設量值的K個後臺運行應用,K為大於1的整數;
停止定位出的後臺運行應用。
本發明實施例中提供的一個或多個技術方案,至少具有如下技術效果或優點:
通過在第一視頻播放應用處於前臺播放視頻過程中檢測用於維持包括第一視頻播放應用的多個應用運行的資源的當前總佔用量,如果資源的當前總佔用量大於預設閾值就停止當前佔用資源的至少一個後臺運行應用,從而釋放了第一視頻播放應用運行所需的資源,以確保有足夠的資源維持視頻播放,因此即使終端的總資源有限也能使終端上播放直播視頻也不會卡頓,錄製視頻緩衝時間更短,從而提高了視頻的播放流暢度。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例提供的資源動態調整方法的流程圖;
圖2為本發明一優選實施例中檢測CPU資源的當前總佔用量的流程圖;
圖3為本發明另一優選實施例中檢測CPU資源的當前總佔用量的流程圖;
圖4為本發明一優選實施例中停止當前佔用資源的後臺運行應用量的流程圖;
圖5為本發明另一優選實施例中停止當前佔用資源的後臺運行應用量的流程圖;
圖6為本發明實施例提供的資源動態調整裝置的單元圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例提供了一種資源動態調整方法,應用於安裝有包括視頻播放應用的多個應用的電子設備,具體的,該電子設備可以為個人計算機、智慧型手機(具體可以為Android手機、IOS系統的手機、PAD(平板電腦)。
參考圖1所示,本發明實施例提供的一種資源動態調整方法包括如下步驟:
S101、在第一視頻播放應用處於前臺播放視頻過程中,檢測資源的當前總佔用量,資源用於維持包括第一視頻播放應用的多個應用運行;
S102、判斷資源的當前總佔用量是否大於預設閾值;
S103、如果資源的當前總佔用量大於預設閾值,停止當前佔用資源的至少一個後臺運行應用。
需要說明的是,第一視頻播放應用可以為針對錄製視頻的播放應用,則對應的,處於前臺播放錄製視頻過程中,檢測資源的當前總佔用量。第一視頻播放應用也可以為針對直播視頻的播放應用,則對應的,處於前臺播放直播視頻過程中,檢測資源的當前總佔用量。
在本發明實施例中,所指的用於維持包括第一視頻播放應用的多個應用運行的資源包括電子設備的CPU資源、內存資源、網速資源。則檢測資源的當前總佔用量具體為檢測CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。
下面,結合圖1對本發明實施例提供的資源動態調整方法的每個步驟進行詳細描述。
首先,執行S101:在第一視頻播放應用處於前臺播放視頻過程中,檢測資源的當前總佔用量,資源用於維持包括第一視頻播放應用的多個應用運行。
在一實施例中,通過線程池來開啟新的定長線程,新的定長線程在後臺進行檢測資源的當前總佔用量。具體的,通過線程池來開啟新的定長線程在後臺來進行CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。
在具體實施過程中,新的定長線程在後臺按照預設周期進行檢測CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。預設周期設置的時間範圍為5s-20s之間,比如,可以設置為5s、10s、15s、20s中的一種。由於開啟了新的線程來檢測資源佔用量,因此對前臺第一視頻播放應用的界面不會造成太大影響。
本發明實施例給出檢測CPU資源的當前總佔用量的具體實施方式,參考圖2所示,具體包括如下步驟:
S1011:調用性能分析命令;
S1012:獲取執行性能分析命令的返回值,返回值中包括CPU資源的當前總佔用量和各個應用分別對CPU資源的佔用量;
S1013:從返回值中確定出對CPU資源的當前總佔用量。
具體來講,如果是針對Android系統,則調用Linux系統的top命令得到CPU資源的當前總佔用量。如果是針對Window系統,則可以調用任務管理器得到CPU資源的當前總佔用量。針對其他系統,均可以調用對應的性能分析命令,本文不進行一一舉例。
下面以Android系統為例,對檢測CPU資源的當前總佔用量的過程進行舉例說明。本領域技術人員能夠基於對Android系統舉例知曉其他系統如何檢測CPU資源的當前總佔用量:
通過代碼執行top命令,具體方式通過系統提供的運行環境去執行top命令,執行完top命令後,對top命令的返回值進行讀取。在具體實施過程中:通過「Runtime.getRuntime.exec("top")」函數實現通過系統提供的運行環境去執行top命令,返回值為包括CPU資源的總佔用量和各個應用分別對CPU資源的佔用量的字符串,將返回值傳入「BufferedReader」函數,以獲取「BufferedReader」的一個實例對象「bufReader」。通過「BufferedReader」函數對top命令的返回值進行讀取。舉例來講,讀取的舉例如下:30%xxx,則第一個「%」出現的位置為CPU資源的當前總佔用量:30%。
為了從返回值中確定出對CPU資源的當前總佔用量,對傳入的返回值進行拆分,拆分依據是傳入的拆分符進行判定的。在具體實施過程中,可以通過調用「split」函數傳入的返回值進行拆分。在本發明實施例中,對傳入的返回值是根據「%」為判定的拆分符進行拆分的,拆分後返回拆分後的一個數組數據,即:包含CPU資源的總佔用量和各個應用分別對CPU資源的佔用量數組數據。
本發明實施例給出檢測網速資源的當前總佔用量的具體實施方式,參考圖3所示,具體包括如下步驟:
S1011』:按照預設時間間隔獲取上傳流量值。
具體的,開啟了定時器任務,按照定時器中的預設時間間隔獲取網卡中的上傳流量值,比如定時器中預設時間間隔設置為1s,則每隔1s中獲取網卡中的上傳流量值。具體通過調用「getTotalTxBytes」函數獲取到當前網卡中的上傳流量值。
S1012』:基於相鄰兩次獲取的上傳流量值之間的差異值確定出網速資源的當前總佔用量。
具體的,差異值可以為相鄰兩次獲取的上傳流量值之間的流量差值,則具體過程為:在第n次獲取的上傳流量值時,確定出第n次獲取的上傳流量值與第n-1次獲取的上傳流量值之間的流量差值,基於流量差值與預設時間間隔確定出網速資源的當前總佔用量,n依次為大於1的整數。
在具體實施過程中,將上一次的上傳流量值標記為preNet,當前的上傳流量值標記為curNet。計算的流量差值即為curNet-preNet的結果。再將curNet的值賦值給preNet,用於下一次計算流量差值時使用,以確保下一次能夠計算出流量差值。如果preNet為0,此時不計算流量差值而是直接將獲取到的curNet的值賦值給preNet,等待下一次計算流量差值。
具體來講,流量差值除以預設時間間隔的結果為網速資源的當前總佔用量。進一步的,由於網卡獲取的上傳流量值的單位是byte(比特),計算的流量差值單位是byte,流量差值轉換成以kb為單位。流量差值除以1024就轉換成對應的以kb為單位的流量差值。以kb為單位的流量差值除以預設時間間隔的結果為網速資源的當前總佔用量。舉例來講,預設時間間隔可以設置為1s為例,則以kb為單位的流量差值除以1s的結果為網速資源的當前總佔用量。
在S101之後,接著執行S102:判斷資源的當前總佔用量是否大於預設閾值。
具體的,針對S101中只檢測CPU資源的當前總佔用量,則S102包括:判斷CPU資源的當前總佔用量是否大於預設CPU佔用量閾值。
針對S101中只檢測網速資源的當前總佔用量,則S102包括:判斷網速資源的當前總佔用量是否大於預設網速佔用量閾值。
針對S101中同時或分先後的檢測CPU資源的當前總佔用量、網速資源的當前總佔用量,則S102包括:判斷CPU資源的當前總佔用量是否大於預設CPU佔用量閾值,以及判斷網速資源的當前總佔用量是否大於預設網速佔用量閾值。
在具體實施過程中,預設CPU佔用量閾值的設置範圍在80%-90%之間。比如,可以設置為80%、81%、82%、83%、84%、85%、86%、87%、88%,89%,90%中的任一個。較佳的,在本發明實施例中,預設CPU佔用量閾值設置為80%。如果CPU資源的當前總佔用量小於預設CPU佔用量閾值,不對後臺運行應用作停止處理,否則執行S103。
在具體實施過程中,預設網速佔用量閾值的設置範圍在200-500kb/s之間,比如,預設網速佔用量閾值可以設置為200kb/s、250kb/s、300kb/s、350kb/s、400kb/s、450kb/s、500kb/s中的任一個。如果網速資源的當前總佔用量小於預設網速佔用量閾值,不對後臺運行應用作停止處理,否則執行S103。
在S102之後,接著執行S103:如果資源的當前總佔用量大於預設閾值,停止當前佔用資源的至少一個後臺運行應用。
在一優選實施例中,如果資源的當前總佔用量大於預設閾值,停止任一當前佔用資源的後臺運行應用。
在另一優選實施例中,如果資源的當前總佔用量大於預設閾值,根據預設優先級停止當前佔用資源的至少一個後臺運行應用。
在具體實施過程中,預設優先級可以為對資源的佔用量優先級、還可以為用戶設置的優先級,還可以為對電子設備的重要性進行排序的重要性優先級。
第一實施方式:預設優先級為對資源的佔用量優先級,參考圖4所示,則S103具體包括:
S1031:查詢當前佔用資源的各個後臺運行應用分別對資源的佔用量;
S1032:基於各個後臺運行應用分別對資源的佔用量,從各個後臺運行應用中定位出當前對資源的佔用量優先級最高的後臺運行應用,或者定位出當前對資源的佔用量優先級大於第一預設量值的M個後臺運行應用,M為大於1的整數;
S1033:停止定位出的後臺運行應用。
針對CPU資源的當前總佔用量大於預設CPU佔用量閾值的情況:
首先,查詢當前佔用CPU資源的各個後臺運行應用分別對CPU資源的佔用量。具體的,通過調用top命令,獲取當前佔用CPU資源的各個後臺運行應用分別對CPU資源的佔用量。
接著,對基於各個後臺運行應用分別對CPU資源的佔用量,定位出當前對CPU資源的佔用量優先級最高的後臺運行應用。下面給出一種具體定位的實現方式:執行完top命令後。通過BufferedReader代碼對top命令的返回值進行讀取,具體讀取方式是:通過「Runtime.getRuntime.exec("top–m 5–d1")」函數返回一個字符串。將返回的字符串傳入到「BufferedReader」的構造函數中,以獲取「BufferedReader」的一個實例對象「bufReader」。讀取實例對象「bufReader」中的數據信息,具體讀取方式是:通過「bufReader」中的readLine函數進行每次讀取一行數據信息就標記為「lineMsg」。每調用一次readLine函數就返回下一行數據信息。通過調用「lineMsg」中的「contains」函數,判斷當前「lineMsg」中是否包含「PID(Process Identification,進程標識符)」字符串,如果包含字符串「PID」,返回「true」(真);如果不包含該字符串返回「false」(假)。如果返回「false」,再次調用readLine函數讀取下一行數據信息,直到返回true為止。當定位到包含字符串「PID「的一行數據信息,再次調用readLine返回當前對CPU資源的佔用量最大(即佔用量優先級最高)的應用程式的程序信息。如果對CPU資源的佔用量最大是第一視頻播放應用,重複上述步驟定位出對CPU資源的佔用量第二大的應用程式的程序信息,最後,停止定位出對CPU資源的佔用量第二大的後臺運行應用。如果對CPU資源的佔用量最大不是第一視頻播放應用,停止定位出對CPU資源的佔用量最大的後臺運行應用。
通過上述流程定位出了當前對CPU資源的佔用量優先級最高的後臺運行應用。
針對網速資源的當前總佔用量大於預設網速佔用量閾值的情況:
首先,查詢當前佔用網速資源的各個後臺運行應用分別對網速資源的佔用量。具體的,先通過調用「readLine」和「split」函數定位各個運行應用的PID字符串。具體的定位過程和前文針對CPU資源的當前總佔用量大於預設CPU佔用量閾值時的情況相似,為了說明書的簡潔,本文不再贅述。接著,通過讀取「status」文件獲取到「PID」字符串所對應的UID(Unique Identifier):,唯一標識)信息。最後,根據UID信息獲取運行應用的對網速資源的佔用量。各個運行應用分別對網速資源的佔用量保存在集合中,通過對集合進行排序操作以定位出對網速資源的佔用量最大的後臺運行應用:具體的,如果最對網速資源的佔用量最大的是第一視頻播放應用,則定位出對網速資源的佔用量第二大的運行應用。如果對網速資源的佔用量最大的不是第一視頻播放應用,則定位出對網速資源的佔用量最大的應用。通過上述流程定位出了當前對網速資源的佔用量優先級最高的後臺運行應用。
具體的,根據UID信息獲取運行應用對網速資源的佔用量的過程為:根據對應的UID讀取「tcp_rcv」文件以獲取到一次運行應用的流量信息。再次讀取到「tcp_rcv」文件以獲取到下一次運行應用的流量信息,運行應用的相鄰兩次獲取的流量信息之間的差值為該運行應用對網速資源的佔用量。針對各個運行應用使用本流程以得到各個運行後臺應用分別對網速資源的佔用量。
如果是定位出當前對資源的佔用量優先級大於第一預設量值的M個後臺運行應用。對資源的佔用量大的優先級大於對資源的佔用量小的優先級。第一預設量值可以設置為3、4、5中的一個。比如,第一預設量值可以設置為3,則定位出前對資源的佔用量優先級處於1、2(即對CPU資源的佔用量最大以及第二大)的後臺運行應用,比如,比如,第一預設量值可以設置為4,則定位出前對資源的佔用量優先級處於1、2、3(即對CPU資源的佔用量最大以及第二大、第三大)的後臺運行應用。具體的定位實現方式可以沿用前文所述。
通過本實施方式:能夠停止對資源的佔用量較大的後臺運行應用,這樣就能夠釋放出更多的CPU資源、網速資源提供給第一視頻播放應用的頁面進行使用,確保直播視頻不會卡頓。
第二實施方式:預設優先級為對電子設備的重要性進行排序的重要性優先級,則參考圖5所示,S103具體包括:
S1031』:查詢當前佔用資源的各個後臺運行應用的類型信息;
S1032』:基於各個後臺運行應用的類型信息,從各個後臺運行應用中定位出重要性優先級最低的後臺運行應用,或者定位出重要性優先級小於第二預設量值的K個後臺運行應用,K為大於1的整數;
S1033』:停止定位出的後臺運行應用。
在具體實施過程中,對電子設備的重要性進行排序的重要性優先級可以為:系統應用的重要性優先級大於非系統應用的重要性優先級。後臺運行應用的類型信息為系統應用、非系統應用中的一種。則具體的:基於各個後臺運行應用的類型信息定位出後臺運行的非系統應用,停止定位出的後臺運行的非系統應用。
在具體實施過程中,後臺運行應用的類型信息可以為系統工具、通訊社交、商業辦公、生活服務、網上購物等等中的一種,以類型信息僅為系統工具、通訊社交、商業辦公、生活服務、網上購物中的任一種舉例,重要性優先級為:「工具應用>通訊社交應用>商業辦公應用>生活服務應用>網上購物應用」。對應的,第二預設量值可以設置為3、4、5。以第二預設量值為3為例,則具體的:基於各個後臺運行應用的類型信息定位出後臺運行的網上購物應用和生活服務應用,停止定位出的網上購物應用和生活服務應用。需要說明的是,並不限於上述舉例,本領域技術人員基於上述舉例應該知曉類型信息為其他或更多時如何實現,為了說明書的簡潔,本文不再一一舉例。
通過本實施方式:停止對電子設備的重要性或對用戶的重要性較低的應用,以釋放出CPU資源、網速資源提供給第一視頻播放應用的頁面進行使用,以確保直播視頻不會卡頓,且不會對電子設備的系統、用戶的使用造成太大影響。
基於同一發明構思,本發明實施例提供了一種資源動態調整裝置,參考圖6所示,本發明實施例提供的資源動態調整裝置包括:
資源監控單元201,用於在第一視頻播放應用處於前臺播放視頻過程中,檢測資源的當前總佔用量,資源用於維持包括第一視頻播放應用的多個應用運行;
判斷單元202,用於判斷資源的當前總佔用量是否大於預設閾值;
應用停止單元203,用於如果資源的當前總佔用量大於預設閾值,停止當前佔用資源的至少一個後臺運行應用。
優選的,資源監控單元201,具體用於:
通過開啟新的定長線程檢測CPU資源、網速資源、內存資源中的至少一種資源的當前總佔用量。
優選的,如果資源包括CPU資源,資源監控單元201,包括:
命令調用子單元,用於調用性能分析命令;
返回值獲取子單元,用於獲取執行性能分析命令的返回值,返回值中包括CPU資源的當前總佔用量和各個應用分別對CPU資源的佔用量;
確定子單元,用於從返回值中確定出對CPU資源的當前總佔用量。
優選的,如果資源包括網速資源,資源監控單元201,包括:
流量監控子單元,按照預設時間間隔獲取上傳流量值;
差異計算子單元,用於基於相鄰兩次獲取的上傳流量值之間的差異值確定出網速資源的當前總佔用量。
優選的,差異計算子單元,具體用於:
在第n次獲取的上傳流量值時,確定出第n次獲取的上傳流量值與第n-1次獲取的上傳流量值之間的流量差值;
基於流量差值與預設時間間隔確定出網速資源的當前總佔用量,n依次為大於1的整數。
優選的,判斷單元202,具體用於:
判斷CPU資源的當前總佔用量是否大於預設CPU佔用量閾值,和/或
判斷網速資源的當前總佔用量是否大於預設網速佔用量閾值。
優選的,應用停止單元203,具體用於:
根據預設優先級停止當前佔用資源的至少一個後臺運行應用。
應用停止單元203,具體用於:
查詢當前佔用資源的各個後臺運行應用分別對資源的佔用量;
基於各個後臺運行應用分別對資源的佔用量,從各個後臺運行應用中定位出當前對資源的佔用量優先級最高的後臺運行應用,或者定位出當前對資源的佔用量優先級大於第一預設量值的M個後臺運行應用,M為大於1的整數;停止定位出的後臺運行應用。
應用停止單元203,具體用於:
查詢當前佔用資源的各個後臺運行應用的類型信息;
基於各個後臺運行應用的類型信息,從各個後臺運行應用中定位出重要性優先級最低的後臺運行應用,或者定位出重要性優先級小於第二預設量值的K個後臺運行應用,K為大於1的整數;
停止定位出的後臺運行應用。
通過上述本發明提供的一個火多個實施例,至少實現了如下技術效果火優點:
通過在第一視頻播放應用處於前臺播放視頻過程中檢測用於維持包括第一視頻播放應用的多個應用運行的資源的當前總佔用量,如果資源的當前總佔用量大於預設閾值就停止當前佔用資源的至少一個後臺運行應用,從而釋放了第一視頻播放應用運行所需的資源,以確保有足夠的資源維持視頻播放,因此即使終端的總資源有限也能使終端上播放直播視頻也不會卡頓,錄製視頻緩衝時間更短,從而提高了視頻的播放流暢度。
在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的各描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的權利要求書由此明確地併入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的智能攝像系統以及網絡攝像頭中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者系統程序(如電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是,上述各實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應該將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或者步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干系統的單元權利要求中,這些系統中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。