本發(fā)明涉及終端適配領(lǐng)域,具體涉及一種提供用戶界面的方法、系統(tǒng)及終端設(shè)備。
背景技術(shù):
目前市場上的移動終端設(shè)備眾多,各種移動終端設(shè)備的屏幕分辨率和使用的操作系統(tǒng)也不盡相同。屏幕越來越大、分辨率越來越高和操作系統(tǒng)越來越復雜導致了移動應用開發(fā)門坎高、適配工作量越來越大的問題,尤其是大屏設(shè)備在不同屏幕狀態(tài)時(例如,橫豎屏切換時)這些問題更為嚴重。
安卓(Android)平臺通過屏幕載體(Activity)和組成元素(Fragment)來解決屏幕狀態(tài)問題。但Fragment依賴Activity的接口,和Activity耦合性較大,且Fragement的生命周期依賴Activity。因此,在當前界面的Activity銷毀后,該界面的所有Fragment隨即被銷毀,導致界面在切換橫豎屏時會對同一個Fragment重復銷毀和創(chuàng)建。
因此,需要一種新的提供用戶界面的方法。
在所述背景技術(shù)部分公開的上述信息僅用于加強對本發(fā)明的背景的理解,因此它可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)要素:
本發(fā)明公開一種提供用戶界面的方法、系統(tǒng)及終端設(shè)備,能夠節(jié)約界面反復創(chuàng)建/銷毀帶來的時間和資源消耗。
本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本發(fā)明的實踐而習得。
根據(jù)本發(fā)明的一方面,公開一種提供用戶界面的方法,用于終端設(shè)備的應用程序,包括:
創(chuàng)建多個用戶界面組件;
將所述多個用戶界面組件緩存到內(nèi)存中;
提取緩存的所述多個用戶界面組件;
根據(jù)屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面界面。
根據(jù)本發(fā)明的一實施方式,所述屏幕狀態(tài)包括橫置狀態(tài)或豎置狀態(tài)。
根據(jù)本發(fā)明的一實施方式,所述創(chuàng)建多個用戶界面組件包括:在應用程序啟動時,預創(chuàng)建所述多個用戶界面組件。
根據(jù)本發(fā)明的一實施方式,所述創(chuàng)建多個用戶界面組件包括:在首次使用所述多個用戶界面組件時,創(chuàng)建所述多個用戶界面組件。
根據(jù)本發(fā)明的一實施方式,所述根據(jù)屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面界面包括:根據(jù)屏幕狀態(tài),將不同用戶界面組件布局到同一界面或者將不同用戶界面組件布局到不同界面。
根據(jù)本發(fā)明的一實施方式,所述提供用戶界面的方法還包括:在應用程序退出時,銷毀所述多個用戶界面組件。
根據(jù)本發(fā)明的一實施方式,該方法還包括在所述用戶界面組件中布局需要顯示的內(nèi)容。
根據(jù)本發(fā)明的一實施方式,所述在所述用戶界面組件中布局需要顯示的內(nèi)容包括:采用自適應布局方式在所述用戶界面組件中布局需要顯示的內(nèi)容。例如,組件中元素寬高不寫成固定值,以錨點布局作為布局方式。
根據(jù)本發(fā)明的第二方面,公開一種提供用戶界面的系統(tǒng),包括:
用戶界面組件管理器,所述用戶界面組件管理器包括
創(chuàng)建模塊,創(chuàng)建多個用戶界面組件;
緩存模塊,將所述多個用戶界面組件緩存到內(nèi)存中;
提取模塊,提取緩存的所述多個用戶界面組件。
根據(jù)本發(fā)明的一實施方式,所述提供用戶界面的系統(tǒng)還包括:界面提供模塊,根據(jù)屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面。
根據(jù)本發(fā)明的第三方面,公開一種終端設(shè)備,包括:
處理器;
存儲器,存儲用于所述處理器控制以下操作的指令:
創(chuàng)建多個用戶界面組件;
將所述多個用戶界面組件緩存到內(nèi)存中;
提取緩存的所述多個用戶界面組件;
根據(jù)屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面界面。
根據(jù)本發(fā)明的一些實施方式,由于用戶界面組件緩存機制的存在,能夠一定程度節(jié)約用戶界面組件反復創(chuàng)建和銷毀帶來的時間消耗,從而縮短用戶界面的響應時間,進而提供更好的用戶體驗。
根據(jù)本發(fā)明的一些實施方式,能夠根據(jù)終端設(shè)備的屏幕狀態(tài)利用緩存的多個用戶界面組件提供用戶界面,提升了布局效率和靈活性,改善了用戶體驗。
根據(jù)本發(fā)明的一些實施方式,按照設(shè)備橫豎屏的特性,將可視元素布局到用戶界面組件中,橫屏時將不同用戶界面組件布局到同一界面,豎屏時將不同用戶界面組件布局到不同界面,因此能夠提高程序的可復用性以及靈活性。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并非用于限制本發(fā)明。
附圖說明
通過參照附圖詳細描述其示例實施例,本發(fā)明的上述和其它目標、特征及優(yōu)點將變得更加顯而易見。
圖1示出根據(jù)本發(fā)明示例實施方式的一提供用戶界面的流程圖。
圖2示出根據(jù)本發(fā)明一示例實施方式的一創(chuàng)建用戶界面組件過程。
圖3示出根據(jù)本發(fā)明另一示例實施方式的另一創(chuàng)建用戶界面組件過程。
圖4示出根據(jù)本發(fā)明示例實施方式的一提供用戶界面的系統(tǒng)方框圖。
圖5A示出根據(jù)本發(fā)明一示例實施方式的新聞app界面布局示意圖。
圖5B示出根據(jù)本發(fā)明另一示例實施方式的新聞app界面布局示意圖。
圖6示出根據(jù)本發(fā)明一示例實施方式的終端設(shè)備。
具體實施方式
現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的范例;相反,提供這些實施方式使得本發(fā)明的描述將更加全面和完整,并將示例實施方式的構(gòu)思全面地傳達給本領(lǐng)域的技術(shù)人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。
此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施方式中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識到,可以實踐本發(fā)明的技術(shù)方案而省略所述特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、步驟等。在其它情況下,不詳細示出或描述公知結(jié)構(gòu)、方法、實現(xiàn)或者操作以避免喧賓奪主而使得本發(fā)明的各方面變得模糊。
附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應??梢圆捎密浖问絹韺崿F(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
本發(fā)明的提供用戶界面的方案將各個可視組件模塊化,并通過用戶界面組件管理器統(tǒng)一管理,開發(fā)者在針對不同的開發(fā)設(shè)備(手機或者平板時)開發(fā)時,通過用戶界面組件管理器提取用戶界面組件并將用戶界面組件組合在同一界面或者不同界面即可。在大屏幕設(shè)備上往往有橫屏和豎屏使用的場景,在此背景下,依據(jù)設(shè)備的朝向?qū)⒉煌貏討B(tài)重組用戶界面組件,從而提升了用戶界面布局效率和靈活性,達到更好的用戶體驗。另外,本發(fā)明由于組件緩存機制的存在而節(jié)約了界面組件反復創(chuàng)建和銷毀帶來的時間和資源消耗,縮短了響應時間,同樣改善了用戶體驗。
圖1示出根據(jù)本發(fā)明示例實施方式的一提供用戶界面的方法的流程圖。該方法可用于終端設(shè)備的應用程序。終端設(shè)備可為手機、平板電腦等,但本發(fā)明不限于此。
如圖1所示,在S102,創(chuàng)建多個用戶界面組件。例如,可以提供模塊化的用戶界面組件。
根據(jù)一實施例,應用在啟動的時候可創(chuàng)建一個用戶界面組件管理器,該管理器提供用戶界面組件預創(chuàng)建、創(chuàng)建、銷毀功能,用以控制用戶界面組件的生命周期。開發(fā)人員將各個可視組件模塊化,并通過用戶界面組件管理器統(tǒng)一管理。
根據(jù)一些實施例,用戶界面組件管理器創(chuàng)建用戶界面組件可根據(jù)具體情況在不同時機進行。例如,應用啟動后用戶界面組件管理器將使用到的用戶界面組件預先創(chuàng)建。如果沒有預先創(chuàng)建,則可在首次使用時創(chuàng)建。具體的不同創(chuàng)建時機和過程將在后面予以詳述。
根據(jù)本發(fā)明的一實施方式,所述用戶界面組件包括基礎(chǔ)可視元素,如菜單、列表、內(nèi)容區(qū)域等,需要顯示的內(nèi)容布局到該組件中。
根據(jù)本發(fā)明的一實施方式,采用自適應布局方式在用戶界面組件中布局需要顯示的內(nèi)容。例如,不要將組件中元素寬高寫成固定值,例如以錨點布局作為布局方式。
在S104,將創(chuàng)建的多個用戶界面組件緩存到內(nèi)存中。
根據(jù)一些實施例,用戶界面組件管理器在創(chuàng)建用戶界面組件后,可將創(chuàng)建的用戶界面組件緩存到內(nèi)存,以便當再次使用時直接從緩存中提取,從而能夠一定程度節(jié)約用戶界面組件反復創(chuàng)建和銷毀帶來的時間消耗,從而縮短用戶界面的響應時間,進而提供更好的用戶體驗。
根據(jù)本發(fā)明的一實施方式,所述首次使用組件后被緩存為默認模式,用戶也可選擇不緩存。
在S106,從緩存中提取用戶界面組件,可根據(jù)組件id或組件名獲取。
在S108,根據(jù)終端設(shè)備的屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面。
例如,利用設(shè)備在橫豎屏時的顯示特性,根據(jù)設(shè)備當前橫屏或豎屏的方向,將已經(jīng)提取的組件通過組合的方式重新布局到當前顯示的用戶界面界面中,如下面將示例性描述的。
根據(jù)本發(fā)明的一實施方式,橫屏時將不同用戶界面組件布局到同一界面。
根據(jù)本發(fā)明的另一實施方式,豎屏時將不同用戶界面組件布局到不同界面。
在應用退出時組件管理器可將緩存的用戶界面組件逐個銷毀。
下面舉例說明利用用戶界面組件管理器根據(jù)具體情況在不同時機進行創(chuàng)建用戶界面組件的過程。
圖2示出根據(jù)本發(fā)明一示例實施方式的一創(chuàng)建用戶界面組件的過程。
如圖2所示,在S202,應用在啟動的時候可創(chuàng)建一個用戶界面組件管理器。該管理器可提供用戶界面組件預創(chuàng)建、創(chuàng)建、銷毀等功能,用以控制用戶界面組件的生命周期。開發(fā)人員可將各個可視組件模塊化,并通過用戶界面組件管理器統(tǒng)一管理。
在S204,在應用啟動后,用戶界面組件管理器可將使用到的用戶界面組件預先創(chuàng)建并緩存到內(nèi)存中,即使有些用戶界面組件暫時還未被使用。
在S206,從緩存中提取用戶界面組件。
在S208,根據(jù)終端設(shè)備的屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面,如前面所描述的。
圖3示出根據(jù)本發(fā)明另一示例實施方式的創(chuàng)建用戶界面組件的過程。
如圖3所示,在S302,如前所述,應用在啟動的時候可創(chuàng)建一個用戶界面組件管理器。
在S304,在首次使用用戶界面組件時,創(chuàng)建用戶界面組件。根據(jù)一實施例,如果用戶界面組件沒有在應用啟動后被用戶界面組件管理器預先創(chuàng)建,則可在首次使用時創(chuàng)建并緩存到內(nèi)存中。
在S306,當再次使用時,直接從緩存中提取用戶界面組件。
在S308,根據(jù)終端設(shè)備的屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面,如前面所描述的。
圖4示出根據(jù)本發(fā)明示例實施方式的一提供用戶界面的系統(tǒng)方框圖。
所述提供用戶界面的系統(tǒng)可以用于手機、平板電腦、計算機、數(shù)字廣播終端、消息收發(fā)設(shè)備、個人數(shù)字助理等設(shè)備。
如圖4所示,提供用戶界面的系統(tǒng)400可包括用戶界面組件管理器402。用戶界面組件管理器402可用于管理用戶界面組件404。
根據(jù)一實施例,用戶界面組件管理器402可包括創(chuàng)建模塊4022、緩存模塊4024、提取模塊4026。
創(chuàng)建模塊4022可創(chuàng)建多個用戶界面組件404。將各個可視組件模塊化,并通過用戶界面組件管理器統(tǒng)一管理。創(chuàng)建用戶界面組件可根據(jù)具體情況在不同時機進行。例如,應用啟動后用戶界面組件管理器將使用到的用戶界面組件預先創(chuàng)建。如果沒有預先創(chuàng)建,則可在首次使用時創(chuàng)建。
緩存模塊4024用于將所述多個用戶界面組件緩存到內(nèi)存中。在應用啟動時,預先預創(chuàng)建用戶界面組件,并緩存到內(nèi)存中;如果沒有預先創(chuàng)建則在首次使用時創(chuàng)建,并緩存到內(nèi)存中。
提取模塊4026用于提取緩存的所述多個用戶界面組件,例如可根據(jù)組件id或組件名提取。例如,當再次使用界面組件時,提取模塊4026可直接從緩存中提取用戶界面組件而不必重新創(chuàng)建。
用戶界面組件404可包括基礎(chǔ)可視元素。如前所述,需要顯示的內(nèi)容可布局到該組件中。布局可采用自適應布局方式。例如,組件中元素寬高不寫成固定值,以例如錨點布局作為布局方式。組件的創(chuàng)建和銷毀通過組件管理器來控制,在應用啟動時,組件管理器預先預創(chuàng)建用戶界面組件,如果沒有預先創(chuàng)建則在首次使用時創(chuàng)建并緩存到內(nèi)存中,當再次使用時直接從緩存中提取,在應用退出時組件管理器將緩存的用戶界面組件逐個銷毀;
系統(tǒng)400還可包括界面提供模塊406,用于根據(jù)終端設(shè)備的屏幕狀態(tài)利用多個用戶界面組件404提供用戶界面。界面提供模塊406用于提供用戶交互界面。根據(jù)一實施例,參照前面所描述的,設(shè)備橫屏時可將不同用戶界面組件布局到同一界面,設(shè)備豎屏時可將不同用戶界面組件布局到不同界面。
圖5A和5B示出根據(jù)本發(fā)明示例實施方式的提供新聞app界面的示意圖,采用了根據(jù)本發(fā)明的方法。
參照圖5A和5B,可在新聞app啟動時創(chuàng)建多個用戶界面組件,例如新聞列表用戶界面組件及新聞詳情用戶界面組件。如果沒有在app啟動時創(chuàng)建這些用戶界面組件,也可以在首次使用時創(chuàng)建??刹捎米赃m應布局方式在用戶界面組件中布局需要顯示的內(nèi)容。
根據(jù)本發(fā)明的示例實施例,新聞app在啟動的時候可創(chuàng)建一個用戶界面組件管理器,該管理器可提供用戶界面組件預創(chuàng)建、創(chuàng)建、銷毀功能,用以控制用戶界面組件的生命周期。
在創(chuàng)建諸如新聞列表用戶界面組件及新聞詳情用戶界面組件的界面組件之后,用戶界面組件管理器可將創(chuàng)建的用戶界面組件緩存到內(nèi)存,以便在需要時直接提取,并可根據(jù)終端設(shè)備的屏幕狀態(tài)利用提取的用戶界面組件提供用戶界面。
如圖5A所示,在設(shè)備橫屏時,新聞app界面提供模塊可將新聞列表用戶界面組件與新聞詳情用戶界面組件布局到同一界面中。
參照圖5A,橫屏時將新聞列表用戶界面組件與新聞詳情用戶界面組件1至N通過組合方式布局到同一用戶界面中,其中新聞列表用戶界面組件條目1至N與新聞詳情用戶界面組件1至N一一對應。
如圖5B所示,在設(shè)備豎屏時,新聞app界面提供模塊可將新聞列表用戶界面組件布局到單個界面,將新聞詳情用戶界面組件顯示到另一界面。當用戶點擊新聞列表用戶界面組件條目時,則跳轉(zhuǎn)到詳情界面。
參照圖5B,豎屏時將新聞列表用戶界面組件布局到單個界面,將詳情頁組件1(...N)顯示到另一界面1(...N),當用戶點擊新聞列表用戶界面組件條目1(...N)時,則跳轉(zhuǎn)到詳情界面1(...N)。
當終端設(shè)備從橫屏變?yōu)樨Q屏或者從豎屏變?yōu)闄M屏時,不必銷毀已經(jīng)創(chuàng)建的相關(guān)組件以及重新創(chuàng)建新的相關(guān)組件。如前所述,根據(jù)本發(fā)明的方案,在屏幕狀態(tài)發(fā)生改變時,新聞app界面提供模塊可利用已經(jīng)創(chuàng)建的新聞列表用戶界面組件與新聞詳情用戶界面組件重新提供一個或多個用戶界面,從而縮短用戶界面的響應時間,提供更好的用戶體驗。
圖6示出根據(jù)本發(fā)明一示例實施方式的終端設(shè)備。
如圖6所示,終端設(shè)備600可包括處理器610、存儲器620。另外,根據(jù)一實施例,終端設(shè)備還可包括發(fā)射器及接收器。
處理器610可調(diào)用存儲器620中存儲的指令控制相關(guān)操作,如控制發(fā)射器和接收器進行信號收發(fā)等。
根據(jù)一實施例,存儲器620存儲用于處理器610控制以下操作的指令:創(chuàng)建多個用戶界面組件;將所述多個用戶界面組件緩存到內(nèi)存中;提取緩存的所述多個用戶界面組件;根據(jù)屏幕狀態(tài)利用所述多個用戶界面組件提供用戶界面界面。處理器610可調(diào)用存儲器620中存儲的指令控制相關(guān)操作。易于理解,存儲器620還可存儲用于處理器610控制根據(jù)本發(fā)明實施例的其他操作的指令,這里不再贅述。
通過以上的詳細描述,本領(lǐng)域的技術(shù)人員易于理解,根據(jù)本發(fā)明實施例的系統(tǒng)和方法具有以下優(yōu)點中的一個或多個。
根據(jù)本發(fā)明的一些實施方式,按照終端設(shè)備的屏幕狀態(tài),利用緩存的用戶界面組件提供用戶界面。例如,將可視元素布局到用戶界面組件中,橫屏時將不同用戶界面組件布局到同一界面,豎屏時將不同用戶界面組件布局到不同界面,因此能夠提高程序的可復用性以及靈活性。
根據(jù)本發(fā)明的另一些實施方式,由于用戶界面組件緩存機制的存在,能夠一定程度節(jié)約用戶界面組件反復創(chuàng)建和銷毀帶來的時間消耗,從而縮短用戶界面的響應時間,進而提供更好的用戶體驗。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。