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