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

安卓設(shè)備的功耗控制方法

文檔序號:8281909閱讀:555來源:國知局
安卓設(shè)備的功耗控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種安卓設(shè)備,特別是指一種安卓設(shè)備的功耗控制方法。
【背景技術(shù)】
[0002]安卓(Android)系統(tǒng)設(shè)備(如安卓系統(tǒng)的手機)使用過程中,在某些情況下,顯示的內(nèi)容并不會被頻繁的刷新,例如用戶通過安卓手機進(jìn)行文字性內(nèi)容的閱讀時,如電子書的閱讀、新聞瀏覽、社交應(yīng)用中頁面閱讀等,大部分時間除了響應(yīng)用戶一些觸控操作進(jìn)行的屏幕刷新、或接收到數(shù)據(jù)進(jìn)行顯示的屏幕刷新外,大部分屏幕所顯示的內(nèi)容都是出于靜態(tài)顯示,即處于屏幕內(nèi)容沒有被刷新的狀態(tài)。這種情況下,一般需要比較低的CPU頻率或者啟用較少的CPU內(nèi)核(針對多核CPU的情況)就可以完成。
[0003]同時,由于用戶使用手機情況的不確定性,也可能會隨時切換到手機顯示的內(nèi)容會被頻繁刷新的應(yīng)用,例如用戶在社交應(yīng)用中輸入信息時的即時輸入的情況,或打開某動態(tài)(例如有flash動畫存在)的新聞瀏覽頁面,或切換到其他某應(yīng)用(例如某游戲)的情況,而對于這些情況下,則需要提高CPU的頻率,或者啟用較多的內(nèi)核,以使得安卓系統(tǒng)可以快速響應(yīng),不至于出現(xiàn)畫面顯示遲滯的問題。
[0004]目前,市場上有一些針對安卓系統(tǒng)的省電應(yīng)用,其通過設(shè)定一個固定的較低的CPU頻率或較少的CPU內(nèi)核的方式實現(xiàn)安卓設(shè)備功耗的降低,但是卻會導(dǎo)致針對某些對CPU資源占用較大的應(yīng)用的響應(yīng)遲滯、畫面顯示遲滯的問題。
[0005]因此,如何實現(xiàn)對安裝設(shè)備功耗靈活的控制,是有待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0006]有鑒于此,本發(fā)明的主要目的在于提供一種安卓設(shè)備的功耗控制方法,以實現(xiàn)對安卓設(shè)備較為靈活的對功耗進(jìn)行控制。
[0007]本發(fā)明提供的安卓設(shè)備的功耗控制方法,包括步驟:
[0008]A、記錄SurfaceFlinger服務(wù)的UI繪制在每個設(shè)定周期內(nèi)的調(diào)用次數(shù);
[0009]B、采用下述公式計算依次相鄰的η個設(shè)定周期的SurfaceFlinger服務(wù)的UI繪制的平均調(diào)用次數(shù);所述η為設(shè)定的值;
[0010]faw= (f w+fw-1+......+fw_n+1)/n ;其中faw是當(dāng)前計算的所述平均調(diào)用次數(shù);n是計算所述平均調(diào)用次數(shù)所設(shè)定的周期數(shù)表示當(dāng)前處于第w個設(shè)定周期,fw表示當(dāng)前第w設(shè)定周期內(nèi)的調(diào)用次數(shù);
[0011]C、根據(jù)當(dāng)前計算出的所述平均調(diào)用次數(shù)faw的大小調(diào)節(jié)CPU的功耗大??;
[0012]D、返回步驟A。
[0013]由上,檢測一定時間內(nèi)SurfaceFlinger服務(wù)的UI繪制的調(diào)用次數(shù),并據(jù)此去控制CPU的功耗,實現(xiàn)較為靈活的對功耗進(jìn)行控制,并且避免出現(xiàn)安卓設(shè)備顯示出現(xiàn)畫面遲滯的冋題。
[0014]可選的,步驟C包括:
[0015]判斷所述平均調(diào)用次數(shù)faw低于第一設(shè)定值時,調(diào)整CPU處于一低功耗狀態(tài);
[0016]判斷所述平均調(diào)用次數(shù)4¥高于第一設(shè)定值而低于第二設(shè)定值時,調(diào)整CPU處于一常規(guī)功耗狀態(tài);
[0017]判斷所述平均調(diào)用次數(shù)faw高于第二設(shè)定值時,調(diào)整CPU處于一高功耗狀態(tài)。
[0018]由上,可以采用區(qū)間函數(shù)進(jìn)行相應(yīng)的CPU的功耗控制。
[0019]可選的,步驟C、D之間還包括:判斷超過設(shè)定次連續(xù)的所述平均調(diào)用次數(shù)均小于所述第一設(shè)定值,使η = η+1,其中η設(shè)定有上限值??蛇x的,還包括:判斷出現(xiàn)所述平均調(diào)用次數(shù)大于所述第一設(shè)定值時,使η恢復(fù)初始值。
[0020]由上,通過上述的η增大的調(diào)整,若在Idle狀態(tài)時,某下個周期出現(xiàn)記錄SurfaceFlinger服務(wù)繪制UI的調(diào)用次數(shù)突然增多時,其下次計算的平均調(diào)用次數(shù)由于分母的增多,并不會反應(yīng)平均次數(shù)的劇烈變化,這樣,對于Idle狀態(tài)下屏幕刷新情況偶然提高時,仍保持較低的CPU功耗。
[0021]可選的,步驟C、D之間還包括:判斷超過設(shè)定次連續(xù)的所述平均調(diào)用次數(shù)均大于所述第二設(shè)定值,使η = η-1,其中η設(shè)定有下限值。可選的,還包括:判斷出現(xiàn)所述平均調(diào)用次數(shù)小于所述第二設(shè)定值時,使η恢復(fù)初始值。
[0022]由上可以看出,通過上述的η減小的調(diào)整,若在Busy狀態(tài)時,某下個周期出現(xiàn)記錄SurfaceFlinger服務(wù)繪制UI的調(diào)用次數(shù)突然下降時,其下次計算的平均調(diào)用次數(shù)由于分母的減少,平均次數(shù)的反應(yīng)也會較為靈敏,這樣,對于Busy狀態(tài)下屏幕刷新情況的突然降低時,能及時的降低CPU功耗。
【附圖說明】
[0023]圖1為安卓設(shè)備的功耗控制的流程圖。
【具體實施方式】
[0024]在介紹本發(fā)明之前,首先介紹下安卓系統(tǒng)屏幕刷新的機制:
[0025]安卓系統(tǒng)中運行有各個安卓應(yīng)用,每個安卓應(yīng)用程序會對應(yīng)著一個或多個圖形界面(Π),每個Π在屏幕上有他的位置、大小以及要顯示的內(nèi)容。而安卓系統(tǒng)的屏幕顯示內(nèi)容的繪制和刷新是依靠SurfaceFlinger服務(wù)實現(xiàn)的。安卓應(yīng)用程序與SurfaceFlinger服務(wù)是運行在不同的進(jìn)程中的,它們采用Binder進(jìn)程間通信機制來進(jìn)行通信。安卓應(yīng)用程序在通知SurfaceFlinger服務(wù)來繪制自己的UI的時候,需要將UI元數(shù)據(jù)傳遞給SurfaceFlinger服務(wù),例如,要繪制UI的位置、大小等信息,以及內(nèi)容;然后,由SurfaceFl inger服務(wù)負(fù)責(zé)繪制、渲染安卓應(yīng)用程序的UI,并將繪制的UI置入緩存隊列中,然后依次將緩存的內(nèi)容傳輸至視頻設(shè)備內(nèi)核驅(qū)動(FB/V4L2)處理進(jìn)行屏幕顯示,也就是進(jìn)行屏幕顯示內(nèi)容的刷新。
[0026]其中,當(dāng)SurfaceFlinger服務(wù)被創(chuàng)建后,系統(tǒng)會啟動一個監(jiān)聽線程,該監(jiān)聽線程監(jiān)聽是否有安卓應(yīng)用通知SurfaceFlinger服務(wù)繪制UI的請求,并在監(jiān)聽到請求時,通知SurfaceFlinger服務(wù)響應(yīng)該繪制UI的請求,由SurfaceFl inger執(zhí)行UI的繪制以進(jìn)行屏幕刷新的操作。其中,大部分安卓系統(tǒng)的所述監(jiān)聽線程所述默認(rèn)的檢測頻率是60次/秒,或者說檢測周期是1/60秒。
[0027]由上可見,所有的屏幕刷新操作都會經(jīng)過SurfaceFlinger服務(wù)執(zhí)行UI的繪制的過程。基于此,本發(fā)明設(shè)置一線程去檢測一定時間內(nèi)SurfaceFlinger服務(wù)的Π繪制的調(diào)用次數(shù),并據(jù)此去控制CPU的功耗,實現(xiàn)較為靈活的對功耗進(jìn)行控制,并且避免出現(xiàn)安卓設(shè)備顯示出現(xiàn)畫面遲滯的問題。如圖1示出了依據(jù)此原理的本發(fā)明的第一實施例的流程圖,包括以下步驟:
[0028]步驟110:在SurfaceFlinger服務(wù)中運行有一單獨線程,該線程用來在每個周期內(nèi)記錄SurfaceFlinger服務(wù)繪制UI的調(diào)用次數(shù)。
[0029]其中,所述的周期的時長可以被設(shè)定,例如可以配置為2秒,即各個周期Tl =T2=Τ3 = Τ4......= 2 秒。
[0030]步驟120:計算依次相鄰的設(shè)定數(shù)量周期的SurfaceFlinger服務(wù)繪制UI的平均調(diào)用次數(shù)。
[0031]本例中,依次相鄰的設(shè)定數(shù)量的周期數(shù)量設(shè)為η,η值可為3,即為依次相鄰的三個周期。例如以T為一個周期的話,Τ3、Τ2和Tl ;Τ4、Τ3和Τ2 ;Τ5、Τ4和Τ3 ;Τ6、Τ5和Τ4這些都分別是依次相鄰的三個周期。
[0032]本步驟可以采用下述公式計算:
[0033]faw= (f w+fw-!+......+fw-n+i) /n ;其中:
[0034]faw是當(dāng)前所計算的平均調(diào)用次數(shù);n是計算所述平均調(diào)用次數(shù)所使用的周期數(shù),本例中n = 3 ;w表示當(dāng)前處于第w個周期,fw表示當(dāng)前第w周期的所述調(diào)用次數(shù),相應(yīng)的fw-n fw-2分別表示第《-1、《-2周期的所述調(diào)用次數(shù)。
[0035]步驟130:根據(jù)當(dāng)前所計算出的所述平均調(diào)用次數(shù)faw的大小,調(diào)節(jié)CPU的功耗大小。
[0036]其中,所計算的所述平均調(diào)用次數(shù)的值越大,則相應(yīng)的控制使CPU的功耗越大,反之則越小。使CPU功耗增大包括提高CPU頻率、增加啟用的CPU內(nèi)核數(shù)量。
[0037]其中,可以預(yù)先根據(jù)所計算的所述平均調(diào)用次數(shù)與CPU功耗的調(diào)整建立曲線函數(shù),根據(jù)該曲線函數(shù)進(jìn)行調(diào)整。也可以采用區(qū)間函數(shù),例如,可將平均調(diào)用次數(shù)根
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1