專利名稱:雙屏電子設(shè)備的顯示方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到電子設(shè)備顯示技術(shù)領(lǐng)域,特別涉及到一種雙屏電子設(shè)備的顯示方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中的電子設(shè)備,通常只設(shè)置有一個顯示屏進(jìn)行圖像顯示;隨著用戶需求的提高,市場上已有設(shè)置兩個顯示屏的電子設(shè)備出現(xiàn)。但是兩個顯示屏通常設(shè)置在同一面,比如一上一下設(shè)置或者一左一右設(shè)置,甚至還有兩面開合式設(shè)置(使用狀態(tài)中也通常是屬于同一面)。而且,現(xiàn)有技術(shù)中是使用兩套系統(tǒng)分別對兩個顯示屏進(jìn)行顯示控制,如此可造成資源的浪費(fèi)
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種雙屏電子設(shè)備的顯示方法,可節(jié)省資源且方便使用。本發(fā)明提出一種雙屏電子設(shè)備的顯示方法,包括步驟分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象;在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。優(yōu)選地,所述調(diào)用需要顯示的內(nèi)容并輸出顯示的步驟前還包括對待顯示的顯示屏窗口進(jìn)行調(diào)整。優(yōu)選地,所述分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象的步驟后還包括通過所述顯示硬件對象分別創(chuàng)建本地窗口對象;判斷是否創(chuàng)建成功;如果創(chuàng)建成功,激活待顯示的顯示屏進(jìn)行顯示。優(yōu)選地,所述在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象的步驟具體包括調(diào)用SurfaceComposerClient 的本地方法;獲取守護(hù)進(jìn)程ServiceManager ;提交與SurfaceFlinger的通信請求;ServiceManager 與 Binder driver 交互查找 SurfaceFlinger ;在服務(wù)存在時,返回指向SurfaceFlinger的IBinder對象;訪問SurfaceFlinger 中的切屏接口。優(yōu)選地,所述激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示的步驟具體包括調(diào)用setFlipScreen函數(shù)開始切屏處理;
調(diào)用setCurrentDisplayld函數(shù)指定當(dāng)前使用的顯示屏;調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識;調(diào)用threadLoop函數(shù)判斷是否有事件需處理;在需要處理時,調(diào)用handleTransaction函數(shù)進(jìn)行處理操作;分析操作處理標(biāo)識判斷是否是切屏事件;
在是切屏事件時,調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容;調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。本發(fā)明還提出一種雙屏電子設(shè)備的顯示系統(tǒng),包括初始化單元,用于分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象;屏幕切換單元,用于在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;切換處理單元,用于激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。優(yōu)選地,所述顯示系統(tǒng)還包括窗口調(diào)整單元,用于對待顯示的顯示屏窗口進(jìn)行調(diào)整。優(yōu)選地,所述初始化單元具體用于通過所述顯示硬件對象分別創(chuàng)建本地窗口對象;判斷是否創(chuàng)建成功;如果創(chuàng)建成功,激活待顯示的顯示屏進(jìn)行顯示。優(yōu)選地,所述屏幕切換單元具體用于調(diào)用SurfaceComposerClient 的本地方法;獲取守護(hù)進(jìn)程ServiceManager ;提交與SurfaceFlinger的通信請求;ServiceManager 與 Binder driver 交互查找 SurfaceFlinger ;在服務(wù)存在時,返回指向SurfaceFlinger的IBinder對象;訪問SurfaceFlinger 中的切屏接口。優(yōu)選地,所述切換處理單元具體用于調(diào)用setFlipScreen函數(shù)開始切屏處理;調(diào)用setCurrentDisplayld函數(shù)指定當(dāng)前使用的顯示屏;調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識;調(diào)用threadLoop函數(shù)判斷是否有事件需處理;在需要處理時,調(diào)用handleTransaction函數(shù)進(jìn)行處理操作;分析操作處理標(biāo)識判斷是否是切屏事件;在是切屏事件時,調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容;調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。本發(fā)明是通過一套顯示系統(tǒng),對兩個顯示屏進(jìn)行控制,以節(jié)省資源;同時還有利于用戶操作,比如可讓用戶的操作在顯示屏切換后連續(xù)地進(jìn)行下去,在顯示屏的切換工程中保證顯示內(nèi)容的一致性,并還可根據(jù)切換后顯示屏的尺寸對顯示內(nèi)容進(jìn)行相應(yīng)的調(diào)整。
圖I是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例中步驟流程示意圖;圖2是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例中電子設(shè)備結(jié)構(gòu)示意圖;圖3是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例中初始化步驟流程示意圖;圖4是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例中顯示屏切換步驟流程示意圖;圖5是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例切換后處理步驟流程示意圖;圖6是本發(fā)明雙屏電子設(shè)備的顯示方法一實施例中結(jié)構(gòu)示意圖;圖7是本發(fā)明雙屏電子設(shè)備的顯示方法另一實施例中結(jié)構(gòu)示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施例方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參照圖1,提出一種雙屏電子設(shè)備的顯示方法一實施例。該顯示方法可包括步驟S10、分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象;步驟S11、在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;步驟S12、激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。本實施例中的雙屏電子設(shè)備的顯示方法可應(yīng)用于具有Android平臺的雙屏電子設(shè)備。本方法是通過一套顯示系統(tǒng),對兩個顯示屏進(jìn)行控制,以節(jié)省資源;同時還有利于用戶操作,比如可讓用戶的操作在顯示屏切換后連續(xù)地進(jìn)行下去,在顯示屏的切換工程中保證顯示內(nèi)容的一致性,并還可根據(jù)切換后顯示屏的尺寸對顯示內(nèi)容進(jìn)行相應(yīng)的調(diào)整。本實施例中在進(jìn)行顯示屏切換時,可在捕捉到切屏事件后,及時完成顯示屏的切換工作,并將所要顯示的內(nèi)容根據(jù)當(dāng)前顯示屏的分辨率進(jìn)行適當(dāng)?shù)恼{(diào)整;可通過控制位映像顯示器與輸入設(shè)備的系統(tǒng)軟件,提供了現(xiàn)代圖形用戶界面所應(yīng)具備的許多重要特性,不僅負(fù)責(zé)在不同的應(yīng)用程序之間分配顯示屏區(qū)域,同時還將來自與交互式設(shè)備的輸入信息發(fā)送到特定的應(yīng)用程序中。上述雙屏電子設(shè)備進(jìn)行顯示屏切換中,將一個顯示屏激活進(jìn)行顯示后,可將另一個顯示屏設(shè)置為待機(jī)狀態(tài),節(jié)省電能。該顯示屏的切換可通過設(shè)置硬按鍵或者軟按鍵,實現(xiàn)手動切換;也可通過設(shè)置方向傳感器或光線傳感器等設(shè)備,實現(xiàn)自動切換。該雙屏電子設(shè)備的兩個顯示屏,可根據(jù)不同功用設(shè)置為不同類型的顯示屏,比如一個顯示屏為電子紙顯示屏,另一個顯示屏為液晶顯示屏等,該電子紙適合閱讀且耗電量低,液晶顯示屏用途廣但耗電。參照圖2,上述電子設(shè)備可包括具有本體正面11和本體反面12的電子設(shè)備本體10以及與電子設(shè)備本體10連接的第一顯示屏110、第二顯示屏120 ;該第一顯示屏110設(shè)置于本體正面11,該第二顯示屏120設(shè)置于本體反面12,該電子設(shè)備本體10分別控制第一顯示屏110以及第二顯示屏120進(jìn)行顯示。上述電子設(shè)備本體10中還設(shè)置有PCB板(PrintedCircuit Board,印刷電路板)13。參照圖3,電子設(shè)備的系統(tǒng)啟動后,需進(jìn)行顯示屏的初始化,具體可包括步驟S101、通過SurfaceFlinger調(diào)用readToRun函數(shù)進(jìn)行初始化;
步驟S102、通過SurfaceFlinger為兩個顯不屏各自創(chuàng)建一個DisplayHardware對象(顯示硬件對象);步驟S103、通過DisplayHardware調(diào)用自身的init函數(shù)進(jìn)行初始化;步驟S104、通過DisplayHardware創(chuàng)建代表本地窗體的EGLDisplaySurface對象(本地窗口對象);步驟S105、判斷EGLDisplaySurface對象是否創(chuàng)建成功;在創(chuàng)建成功時,進(jìn)行步驟S106 ;否則結(jié)束;步驟S106、通過 DisplayHardware 進(jìn)行 OpenGL ES 的初始化;
步驟S 107、通過 SurfaceFlinger 調(diào)用 setCurrentDisplayld 函數(shù)指定當(dāng)前使用的顯示屏(待顯示的顯示屏);步驟S108、通過SurfaceFlinger調(diào)用initializeHW函數(shù)激活當(dāng)前顯示屏進(jìn)行顯
/Jn oAndroid的底層窗口部分主要包括SurfaceFlinger (底層窗口系統(tǒng))、DisplayHardware 和 EGLDisplaySurface 等幾部分。Surface 是 Android 窗口管理系統(tǒng)中一個十分重要的概念和線索,起到承上啟下的關(guān)鍵作用。作為Android窗口管理系統(tǒng)客戶端的窗口管理器(WindowManager)和作為服務(wù)器端的底層窗口系統(tǒng)(SurfaceFlinger)交互的橋梁就是Surface。Surface代碼分為兩部分,一部分是由Java語言編寫的Surface類,另一部分是由C++語言編寫的SurfaceComposerClient類。Surface類是窗口管理器看到的Surface,而SurfaceComposerClient類是底層窗口系統(tǒng)看到的Surface。Surface類實際只是定義了一些功能接口供上層程序調(diào)用,而具體的實現(xiàn)則是在SurfaceComposerClient類中完成的。每當(dāng)Surface對象創(chuàng)建時就有一個相應(yīng)的SurfaceComposerClient對象被創(chuàng)建。當(dāng)用戶調(diào)用Surface中的功能接口時,Surface會首先通過Java的JNI (Java NativeInterface)調(diào)用 SurfaceComposerClient 中的相應(yīng)函數(shù),然后 SurfaceComposerClient 會獲取一個指向SurfaceFlinger的IBinder對象,之后通過IBinder對象就可以跨進(jìn)程訪問SurfaceFlinger的功能,交由SurfaceFlinger完成最終的操作處理。在切屏處理操作中顯示屏的切換工作是由底層窗口系統(tǒng)SurfaceFlingei*完成的,當(dāng)窗口管理器WindowManager通知底層窗口系統(tǒng)SurfaceFlinger進(jìn)行切屏操作時,必須通過 Surface 和 SurfaceComposerClient 來完成,因此在 Surface 和 SurfaceComposerClient中新增一個切屏處理的接口,而實際的工作則由SurfaceComposerClient交給底層窗口系統(tǒng) SurfaceFlinger 來完成,為了 實現(xiàn) SurfaceComposerClient 跨進(jìn)程訪問 SurfaceFlinger的功能,必須使用Android所特有的進(jìn)程間通訊機(jī)制Binder。Binder通信通過內(nèi)核空間的Binder driver來實現(xiàn),Binder通信可以取得類似“線程迀移(thread migration) ”般的效果,兩個進(jìn)程間的通信看起來就像一個進(jìn)程進(jìn)入另一個進(jìn)程執(zhí)行代碼然后帶著執(zhí)行的結(jié)果返回。Android中的Binder通信基于Service和Client,通過一個守護(hù)進(jìn)程ServiceManager專門用于管理所有的Service。每當(dāng)Android啟動時其都會首先啟動ServiceManager進(jìn)程,該ServiceManager加載Binder driver,并將該進(jìn)程作為System Service Manager,然后該進(jìn)程將進(jìn)入一個循環(huán),等待處理來自其它進(jìn)程的操作請求。Binder通信在底層實現(xiàn)上釆用了共享內(nèi)存的方式,Client進(jìn)程和Service進(jìn)程在建立通信之初,Binder driver會為它們分配一塊物理內(nèi)存空間,然后將這一塊內(nèi)存映射到進(jìn)程Client、Service各自的進(jìn)程地址空間,每當(dāng)Client進(jìn)程需要傳送數(shù)據(jù)給Service進(jìn)程時,Client都要首先將這些數(shù)據(jù)打包,然后通過IBinder對象傳遞給Binder driver,Binder driver再將這部分?jǐn)?shù)據(jù)寫入共享的內(nèi)存空間,如此Service進(jìn)程就可以直接存取Client發(fā)送來的資料,而當(dāng)Client進(jìn)程和Service進(jìn)程通信結(jié)束后,Binder driver會負(fù)責(zé)將內(nèi)存回收。參照圖4,先需要進(jìn)行顯示屏切換時,先需要進(jìn)行步驟如下步驟S 111、調(diào)用 SurfaceComposerClient 的本地方法;步驟S112、獲取守護(hù)進(jìn)程 ServiceManager ;步驟S113、提交與SurfaceFlinger的通信請求; 步驟S II4、ServiceManager 與 Binder driver 交互查找 SurfaceFlinger ;步驟S115、判斷是否存在該服務(wù);在存在時,進(jìn)行步驟S116 ;否則結(jié)束;步驟S116、返回指向 SurfaceFlinger 的 IBinder 對象;步驟S117、訪問SurfaceFlinger中的切屏接口。參照圖5,如需完成顯示屏切換,還需要進(jìn)行步驟如下步驟S121、調(diào)用setFlipScreen函數(shù)開始切屏處理;步驟S122、調(diào)用setCurrentDisplayld函數(shù)指定當(dāng)前使用的顯示屏;步驟S123、調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識;步驟S124、調(diào)用threadLoop函數(shù)判斷是否有事件需處理;在需要處理時,進(jìn)行步驟S125 ;否則重新判斷;步驟S125、調(diào)用handleTransaction函數(shù)進(jìn)行處理操作;步驟S126、分析操作處理標(biāo)識判斷是否是切屏事件;在是切屏事件時,進(jìn)行步驟S127 ;否則結(jié)束;步驟S127、調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容;步驟S128、調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。在另一實施例中,在切換顯示屏并通過切換后的顯示屏進(jìn)行內(nèi)容顯示之前,還需要對切換后的顯示屏的窗口進(jìn)行調(diào)整。該調(diào)整可具體包括獲取當(dāng)前顯示屏的寬和高;通知窗口管理器按照當(dāng)前屏幕的寬和高進(jìn)行屏幕分配工作;窗口管理器為每個窗口分配其可視邊框;以及窗口覆蓋等調(diào)整。參照圖6,本發(fā)明還提出一種雙屏電子設(shè)備的顯示系統(tǒng)20—實施例。該顯示系統(tǒng)20可包括初始化單元21、屏幕切換單元22以及切換處理單元23 ;該初始化單元21,用于分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象;該屏幕切換單元22,用于在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;該切換處理單元23,用于激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。本實施例中的雙屏電子設(shè)備的顯示系統(tǒng)20可應(yīng)用于具有Android平臺的雙屏電子設(shè)備。本方法是通過一套顯示系統(tǒng)20,對兩個顯示屏進(jìn)行控制,以節(jié)省資源;同時還有利于用戶操作,比如可讓用戶的操作在顯示屏切換后連續(xù)地進(jìn)行下去,在顯示屏的切換工程中保證顯示內(nèi)容的一致性,并還可根據(jù)切換后顯示屏的尺寸對顯示內(nèi)容進(jìn)行相應(yīng)的調(diào)整。本實施例中在進(jìn)行顯示屏切換時,可在捕捉到切屏事件后,及時完成顯示屏的切換工作,并將所要顯示的內(nèi)容根據(jù)當(dāng)前顯示屏的分辨率進(jìn)行適當(dāng)?shù)恼{(diào)整;可通過控制位映像顯示器與輸入設(shè)備的系統(tǒng)軟件,提供了現(xiàn)代圖形用戶界面所應(yīng)具備的許多重要特性,不僅負(fù)責(zé)在不同的應(yīng)用程序之間分配顯示屏區(qū)域,同時還將來自與交互式設(shè)備的輸入信息發(fā)送到特定的應(yīng)用程序中。上述雙屏電子設(shè)備進(jìn)行顯示屏切換中,將一個顯示屏激活進(jìn)行顯示后,可將另一個顯示屏設(shè)置為待機(jī)狀態(tài),節(jié)省電能。該顯示屏的切換可通過設(shè)置硬按鍵或者軟按鍵,實現(xiàn)手動切換;也可通過設(shè)置方向傳感器或光線傳感器等設(shè)備,實現(xiàn)自動切換。該雙屏電子設(shè)備的兩個顯示屏,可根據(jù)不同功用設(shè)置為不同類型的顯示屏,比如一個顯示屏為電子紙顯示屏,另一個顯示屏為液晶顯示屏等,該電子紙適合閱讀且耗電量低,液晶顯示屏用途廣但耗電。上述初始化單元21具體用于通過所述顯示硬件對象分別創(chuàng)建本地窗口對象;判斷是否創(chuàng)建成功;如果創(chuàng)建成功,激活待顯示的顯示屏進(jìn)行顯示。上述屏幕切換單元22具體用于調(diào)用SurfaceComposerClient的本地方法;獲 取守護(hù)進(jìn)程 ServiceManager ;提交與 SurfaceFlinger 的通信請求;ServiceManager 與Binder driver交互查找SurfaceFlinger ;在服務(wù)存在時,返回指向SurfaceFlinger的IBinder對象;訪問SurfaceFlinger中的切屏接口。上述切換處理單元23具體用于調(diào)用setFlipScreen函數(shù)開始切屏處理;調(diào)用setCurrentDisplayld函數(shù)指定當(dāng)前使用的顯示屏;調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識;調(diào)用threadLoop函數(shù)判斷是否有事件需處理;在需要處理時,調(diào)用handleTransaction函數(shù)進(jìn)行處理操作;分析操作處理標(biāo)識判斷是否是切屏事件;在是切屏事件時,調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容;調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。參照圖7,上述顯示系統(tǒng)20還包括窗口調(diào)整單元24,用于對顯示屏的窗口進(jìn)行調(diào)整。該調(diào)整可具體包括獲取當(dāng)前顯示屏的寬和高;通知窗口管理器按照當(dāng)前屏幕的寬和高進(jìn)行屏幕分配工作;窗口管理器為每個窗口分配其可視邊框;以及窗口覆蓋等調(diào)整。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種雙屏電子設(shè)備的顯示方法,其特征在于,包括步驟 分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象; 在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象; 激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。
2.根據(jù)權(quán)利要求I所述的雙屏電子設(shè)備的顯示方法,其特征在于,所述調(diào)用需要顯示的內(nèi)容并輸出顯示的步驟前還包括 對待顯示的顯示屏窗口進(jìn)行調(diào)整。
3.根據(jù)權(quán)利要求I或2所述的雙屏電子設(shè)備的顯示方法,其特征在于,所述分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象的步驟后還包括 通過所述顯示硬件對象分別創(chuàng)建本地窗口對象; 判斷是否創(chuàng)建成功; 如果創(chuàng)建成功,激活待顯示的顯示屏進(jìn)行顯示。
4.根據(jù)權(quán)利要求3所述的雙屏電子設(shè)備的顯示方法,其特征在于,所述在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象的步驟具體包括 調(diào)用 SurfaceComposerClient 的本地方法; 獲取守護(hù)進(jìn)程ServiceManager ; 提交與SurfaceFlinger的通信請求;ServiceManager 與 Binder driver 交互查找 SurfaceFlinger ; 在服務(wù)存在時,返回指向SurfaceFlinger的IBinder對象; 訪問SurfaceFlinger中的切屏接口。
5.根據(jù)權(quán)利要求4所述的雙屏電子設(shè)備的顯示方法,其特征在于,所述激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示的步驟具體包括 調(diào)用setFlipScreen函數(shù)開始切屏處理; 調(diào)用SetCurrentDisplayId函數(shù)指定當(dāng)前使用的顯示屏; 調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識; 調(diào)用threadLoop函數(shù)判斷是否有事件需處理; 在需要處理時,調(diào)用handleTransaction函數(shù)進(jìn)行處理操作; 分析操作處理標(biāo)識判斷是否是切屏事件; 在是切屏事件時,調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容; 調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。
6.—種雙屏電子設(shè)備的顯不系統(tǒng),其特征在于,包括 初始化單元,用于分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象; 屏幕切換單元,用于在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;切換處理單元,用于激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。
7.根據(jù)權(quán)利要求6所述的雙屏電子設(shè)備的顯示系統(tǒng),其特征在于,所述顯示系統(tǒng)還包括 窗口調(diào)整單元,用于對待顯示的顯示屏窗口進(jìn)行調(diào)整。
8.根據(jù)權(quán)利要求6或7所述的雙屏電子設(shè)備的顯示系統(tǒng),其特征在于,所述初始化單元具體用于 通過所述顯示硬件對象分別創(chuàng)建本地窗口對象; 判斷是否創(chuàng)建成功; 如果創(chuàng)建成功,激活待顯示的顯示屏進(jìn)行顯示。
9.根據(jù)權(quán)利要求8所述的雙屏電子設(shè)備的顯示系統(tǒng),其特征在于,所述屏幕切換單元具體用于 調(diào)用 SurfaceComposerClient 的本地方法; 獲取守護(hù)進(jìn)程ServiceManager ; 提交與SurfaceFlinger的通信請求; ServiceManager 與 Binder driver 交互查找 SurfaceFlinger ; 在服務(wù)存在時,返回指向SurfaceFlinger的IBinder對象; 訪問SurfaceFlinger中的切屏接口。
10.根據(jù)權(quán)利要求9所述的雙屏電子設(shè)備的顯示系統(tǒng),其特征在于,所述切換處理單元具體用于 調(diào)用setFlipScreen函數(shù)開始切屏處理; 調(diào)用SetCurrentDisplayId函數(shù)指定當(dāng)前使用的顯示屏; 調(diào)用setTransactionFlags函數(shù)設(shè)置操作處理標(biāo)識; 調(diào)用threadLoop函數(shù)判斷是否有事件需處理; 在需要處理時,調(diào)用handleTransaction函數(shù)進(jìn)行處理操作; 分析操作處理標(biāo)識判斷是否是切屏事件; 在是切屏事件時,調(diào)用handleRepaint函數(shù)重繪需顯示內(nèi)容; 調(diào)用PostFrameBuffer函數(shù)輸出顯示內(nèi)容。
全文摘要
本發(fā)明揭示了一種雙屏電子設(shè)備的顯示方法及系統(tǒng)。該方法可包括步驟分別為電子設(shè)備的兩個顯示屏建立顯示硬件對象;在需要進(jìn)行顯示屏切換時,調(diào)用切屏接口,切換顯示硬件對象;激活需要進(jìn)行顯示的顯示屏,調(diào)用需要顯示的內(nèi)容并輸出顯示;并將另一顯示屏設(shè)置為待機(jī)狀態(tài)。本發(fā)明是通過一套顯示系統(tǒng),對兩個顯示屏進(jìn)行控制,以節(jié)省資源,同時還有利于用戶操作。
文檔編號G06F3/14GK102768621SQ20111035855
公開日2012年11月7日 申請日期2011年11月14日 優(yōu)先權(quán)日2011年11月14日
發(fā)明者劉遙, 匡天君 申請人:深圳市三索科技發(fā)展有限公司