用户界面显示方法和系统与流程

文档序号:11949101阅读:182来源:国知局
用户界面显示方法和系统与流程
本发明涉及信息显示
技术领域
,特别是涉及一种用户界面显示方法和系统。
背景技术
:智能电视、触控屏手机或平板电脑等设备的用户界面给人机交互提供了便利,在人们日常生活和工作中起着重要的作用。传统的智能电视的界面显示不够智能,内容很多,使用不方便,很多老人、小孩等人群操作困难,很难找到自己关心的内容。虽然存在为老人或小孩专门定制的老人电视和儿童电视,但一家人中往往会有老人、中年人、儿童多个年龄段的用户,不能同时满足一家人的需求。传统的智能电视存在使用不便的缺点。技术实现要素:基于此,有必要针对上述问题,提供一种可提高使用便利性的用户界面显示方法和系统。一种用户界面显示方法,包括以下步骤:接收角色切换指令后调用切换角色页面进行显示;结束用户界面的桌面启动器应用,回收上一角色运行所占内存;接收角色选择指令,并根据所述角色选择指令选择当前角色;保存所述当前角色,并根据所述当前角色重新加载所述用户界面。一种用户界面显示系统,包括:切换指令接收模块,用于接收角色切换指令后调用切换角色页面进行显示;应用内存回收模块,用于结束用户界面的桌面启动器应用,回收上一角色运行所占内存;选择指令接收模块,用于接收角色选择指令,并根据所述角色选择指令选择当前角色;角色保存加载模块,用于保存所述当前角色,并根据所述当前角色重新加载所述用户界面。上述用户界面显示方法和系统,接收角色切换指令后调用切换角色页面进行显示,并结束用户界面的桌面启动器应用,回收上一角色运行所占内存。接收角色选择指令,并根据角色选择指令选择当前角色。保存当前角色,并根据当前角色重新加载用户界面。由于可进行多角色的切换,不同人群可以选择自己喜欢用户界面风格,可满足不同人群的需求,提高使用便利性。在切换角色时将上一角色所占用的资源全部释放掉,做到了用户界面多角色切换不增加内存的效果,降低了生产成本。附图说明图1为一实施例中用户界面显示方法的流程图;图2为另一实施例中用户界面显示方法的流程图;图3为一实施例中用户界面的示意图;图4为一实施例中用户界面显示系统的结构图;图5为另一实施例中用户界面显示系统的结构图。具体实施方式一种用户界面显示方法,具体可应用于智能电视、触控屏手机或平板电脑等设备的界面显示,为便于理解,以下均以智能电视的用户界面显示为例进行解释说明。如图1所示,用户界面显示方法包括以下步骤:步骤S130:接收角色切换指令后调用切换角色页面进行显示。用户具体可通过按下遥控器上的角色键发送角色切换指令至智能电视,控制智能电视的用户界面跳转到切换角色页面进行显示。在其中一个实施例中,如图2所示,步骤S130之前,还包括步骤S110和步骤S120。步骤S110:进行数据初始化处理。可以是在应用启动时通过重写onCreate()来初始化数据。具体地,本实施例 中进行数据初始化处理包括设置桌面启动器的上下文目录、应用数据库初始化、壁纸设置、顶部状态栏初始化、导航栏初始化、工作区初始化和任务队列初始化中的至少一种。上下文目录是指桌面启动器的框架布局,框架布局包含ImageView(图片视图)的焦点框和LinearLayout(线性布局),如图3所示,LinearLayout包括顶部状态栏11、导航栏12、工作区13的布局。步骤S120:加载用户界面配置数据。具体可通过重写onResume()的方法加载用户界面配置数据。在其中一个实施例中,步骤S120包括步骤122至步骤127。步骤122:读取当前内存中角色的值。角色的值用一个整型变量表示,具体用SharedPreferences(轻量级存储类)储存方式进行保存,可保存在智能电视的FLASH存储器中。步骤123:判断当前内存中角色的值是否为预设的默认值。因为角色的值使用比较频繁,所以在内存中用一个变量来保存,本实施例中变量的默认值为-1。步骤124:若当前内存中角色的值为默认值,则从轻量级存储类中获取预先保存的角色的值。如果当前内存中角色的值为-1,则从SharedPreferences中获取所保存的角色的值。如果获取不到则返回-1。如果当前角色的值小于0,即为-1的默认值时,则认为首次启动这个应用,跳转到切换角色的页面。步骤125:若当前内存中角色的值不是默认值,则获取当前内存中角色的值。如果当前内存中角色的值不为-1,则可直接返回当前内存中角色的值,将当前内存中的值作为角色的值。步骤126:判断获取的角色的值是否在预设的允许范围内。允许范围可根据实际情况调整,若获取的角色的值在允许范围内,则进行步骤127。步骤127:加载对应角色的用户界面配置数据。在角色的值处于允许范围内时,加载对应角色的用户界面配置数据,实现对应角色的用户界面显示。在其中一个实施例中,步骤127包括步骤1至步骤3。步骤1:读取当前角色,并根据当前角色加载导航栏数据数组,并获取与导航栏数据数组对应的字符串数组。根据当前角色组合所要加载导航栏数据数组的名字,如"navigation_role"+role+"_array",具体的组成形式不限。在arrays资源中查找所组合的名字对应 的字符串数组。具体可采用java的反映机制进行查找。如果找不到对应的字符串数组,则还可包括输出提醒信息,如抛出“NoSuchFieldException”,以提醒用户异常。步骤2:计算字符串数组的元素个数,并根据元素个数得到用户界面的工作区总页数。得到相应的字符串数组后,计算字符串数组元素个数N,从而可设置用户界面工作区总共页数为元素个数N。由于导航栏的每一项对应是用户界面工作区显示的每一页的。通过以上设计可以做到只是更改资源文件array.xml对应数组元素个数就可以控制用户界面工作区显示页数,而不用去更改Java的代码,提高操作便利性。步骤3:根据工作区总页数分别导入当前角色所对应的导航栏数据,并加载用户界面的工作区数据。可利用导航栏控件根据所得到的元素个数N动态生成相应个数的子视图。动态生成子视图的过程中可以设置子视图的字体大小,颜色,选中样式等预设属性。用户同样可利用遥控器移动切换选择焦点来控制子视图切换,如让导航栏第一个子视图获取选择焦点,智能电视在启动时工作区就会显示第一页的数据。对导航栏的选择焦点进行监听,当导航栏的选择焦点变化时将切换对应的页上去,实现子视图切换。本实施例中工作区采用网格式设计。网格区域内分成M*N的网格,区域内用自定义控件填充,自定义控件的大小、位置都基于最小网格单元,以便于设计和维护时控制控件的大小和位置,提高操作便利性。可自定义一个类ItemInfo(物品查询)来记录加载时每一个自定义控件的信息,其中包含成员变量如表1所示。成员名成员介绍cellX控件在网格区域的横坐标cellY控件在网格区域的纵坐标spanX控件在网格区域横向所占的格子数spanY控件在网格区域纵向所占的格子数screen控件所在页面的序号,可以有多页UI,通过导航栏切换view_refItemInfo所关联自定义控件的对象intent控件被点击后程序跳转的对象及传递的参数表1具体可利用线程来加载工作区数据,通过重写线程的运行方法读取当前角色,具体的读取步骤与步骤122至步骤125类似,在此不做赘述。进一步地,步骤3中加载用户界面的工作区数据,具体包括步骤32至步骤35。步骤32:根据当前角色加载相应的工作区数据配置文件。本实施例中工作区数据配置文件使用xml的格式保存,其内容由自定义控件及其属性设置组成。自定义控件有很多自定义属性。表2所示是一实施例中自定义控件的部分属性。属性名属性介绍x控件在网格区域的横坐标y控件在网格区域的纵坐标spanX控件在网格区域横向所占的格子数spanY控件在网格区域纵向所占的格子数screen控件所在页面的序号,可以有多页UI,通过导航栏切换background控件背景图片frontImg控件前景图片titleText控件前景文字uri控件按下后跳转的URI字串,可以定义控件按键功能表2步骤33:解析工作区数据配置文件,获取自定义控件对应的属性集合。自定义控件可以是一个也可以是多个,每一个自定义控件可对应获取一个属性集合。可通过XmlResourceParser类对工作区数据配置文件进行解析,具体可包括以下步骤:判断最开始标签是否是workspace,如果是继续下一步,否则跳出。判断下一个标签是不是workspace的结束标签,如果是则结束解析,否则继续下一步。判断下一个标签是不是所有预存的自定义控件的标签中的一种。如果是其中一种,获取配置文件对应此自定义控件所设置的属性集合A。步骤34:从属性集合中获取自定义控件的配置属性,并根据配置属性生成对应的控件。配置属性的具体内容可根据实际情况选择,本实施例中从属性集合A中获取自定义控件的坐标、大小、所在页等属性赋予ItemInfo类的成员或成员方法。根据得到的配置属性可生成具体的控件。步骤35:将生成的控件导入用户界面的工作区内对应的网格区域。将生成的控件导入工作区内指定的网格区域,实现用户界面的工作区数据加载。此外,步骤35之后,还可包括判断是否还存在下一控件的步骤,若是,则返回步骤34,加载下一控件,若否,则解析完成。自定义控件具体可以是actionbutton(动作按钮)控件、appgrid(应用程序方格)控件或天气预报控件等。为便于更好地理解用户界面的工作区数据加载的具体实施方式,下面以actionbutton控件和appgrid控件为例,实例化自定义控件进行详细解释说明。如果解析得到的自定义控件的标签是actionbutton动作按钮。则实例化一个自定义控件CellActionButton对象。此自定义控件构造函数加载用户界面的工作区数据的步骤分解后可包括步骤a至步骤c。步骤a:设置自定义控件的背景图片。具体包括步骤411至步骤415。步骤411:从属性集合A中获取背景图片的资源ID。步骤412:判断背景图片的资源ID是否不为-1,如果成立则在自定义控件内添加一个ImageView作为背景图片。如果为-1,则认为没有背景图片,跳出。步骤413:根据属性集合A的海报类型判断是否是影视海报,若是,则从属性集合A中获取海报图片缓存路径。如果不是则跳转到步骤415。步骤414:如果图片缓存路径下的图片存在,则读取图片,并设其为此控件的背景图片,返回步骤412。如图片不存在继续到下一步。步骤415:设属性中背景图片的资源ID所对应的图片为此控件的背景图片。步骤b:设置自定义控件的前景图片。具体包括步骤421至步骤426。步骤421:从属性集合A中获取前景图片的资源ID:。步骤422:判断前景图片的资源ID是否不为-1,如果成立则在自定控件内添加一个ImageView作为前景图片。如果为-1则认为没有前景图片,跳出。步骤423:将前景图片的资源ID所对应的图片作为自定义控件的前景图片。步骤424:设置前景图片在自定义控件中的对齐方式。从属性集合A中获取控件前景图片在控件中的对齐方式,如果属性集合中没有设定则默认为左上角的对齐方式。步骤425:设置前景图片在自定义控件中的边距。从属性集合A中获取控件前景图片在控件中上、下、左、右边距的值,如果属性集合中没有设定则默认为0。步骤426:设置前景图片高和宽。从属性集合A中获取控件前景图片宽和高,如果属性集合中没有设定则保持图片原尺寸。步骤c:设置自定义控件的前景文字。具体包括步骤431至步骤436。步骤431:从属性集合A中获取前景文字的资源ID。步骤432:判断前景文字的资源ID是否不为-1,如果成立则在自定控件内添加一个TextView(文本框)作为前景文字。如果为-1则认为没有前景文字,跳出。步骤433:设属性中前景文字的资源ID所对应的字符串为自定义控件的前景文字内容。步骤434:设置前景文字在控件中的对齐方式。从属性集合A中获取控件前景文字在控件中的对齐方式,如果属性集合中没有设定则默认为右下角的对齐方式。步骤435:设置前景文字在控件中边距。从属性集合A中获取控件前景图片在控件中上、下、左、右边距的值,如果属性集合中没有设定则使用默认值。步骤436:设置前景文字的宽和高,字体大小,字体颜色等。类似地,先从属性集合A中获取,获取不到则用预先设定默认值。自定义控件中其他组件的设置方式相似,都是先判断这组件是否有设定,如果没有就跳过,判断下一个组件。如果有再去设定组件的详细设定。详细设定方面先从属性集合A中获取,获取不到就用预先设定默认值。按以上步骤设计自定义控件,兼容强且不会太冗余,占用内存少。如果解析得到的自定义控件标签是appgrid。则实例化一个自定义控件CellGridView对象。此自定义控件是专门针对应用设计的,主要用于应用的显示和管理。此自定义控件构造函数加载用户界面的工作区数据的步骤包括步骤511至步骤515。步骤511:设定自定义控件所属角色。从属性集合A中获取控件所属角色,如果属性中没有设定就用当前运行的角色代替。因为不同角色有自己的应用列表,有的角色如专业角色是可以管理其他角色的应用的列表,比如把某一应用从一个角色移动到另一个角色的应用列表中。步骤512:设定自定义控件显示的行数。从属性集合A中获取控件显示的行数,如果没有设定则默认为3行。步骤513:设定自定义控件显示的列数。从属性集合A中获取控件显示的列数,如果没有设定就默认为5列。步骤514:设定自定义控件子视图的宽和高。从属性集合A中获取控件子视图的宽和高,如果没有设定则用默认值。步骤515:设置自定义控件的数据适配器,根据所属角色加载对应角色的应用列表。具体可开辟一个线程来根据所属角色加载对应角色的应用列表。自定义控件子视图的其他属性设置方式类似,在此不再赘述。在其中一个实施例中,步骤35中将生成的控件导入用户界面的工作区内对应的网格区域的步骤,包括步骤351至步骤355。步骤351:从属性集合A中获取URI(UniformResourceIdentifier,统一资 源标识符)字符串,再从URI字符串解析出Intent所需的跳转行为和参数,再赋予ItemInfo对象的intent成员。这样就定义好了自定义控件点击后的行为。步骤352:用View.generateViewId()方法自动生成id,作为实例化的自定义控件的id。步骤353:将实例化的自定义控件与ItemInfo的对象的view_ref成员相关联。步骤354:若解析得到的自定义控件标签是actionbutton,并且从属性集合A获取到的海报类型不为空,则从属性集合A获取海报其它属性。为便于理解,实例化一个自定义线程任务类进行解释说明:设置海报类型。从属性集合A获取海报类型,海报类型分影视类和应用类等。设置海报类型数据接口网址。线程将从数据接口网址获取海报图片网址、海报详情等信息设置海报本地缓存地址。记录本自定义控件的id。以便于后续更新海报图片。设置海报的intent参数。当海报图片切换后,intent参数也跟着变化,确保点击后跳转至对应的海报。步骤355:将自定义控件添加到工作区内对应的网格区域中。具体地,根据ItemInfo对象中表示自定义控件的坐标,大小,所在页的成员方法来设定自定义控件在工作区中位置及大小。把ItemInfo对象所关联的自定义控件添加到工作区中。如果ItemInfo对象的成员intent不为空,则表示这个自定义控件点击后可以跳转,监听此自定义控件。此外,步骤355后,可返回步骤351构成循环,一直到解析结束。处理过程中加载一个自定义控件就显示一个,可加快用户界面的显示速度,提高使用便利性。在其中一个实施例中,上述步骤3中加载用户界面的工作区数据,还包括利用线程处理任务队列的任务的步骤,具体包括步骤37和步骤38。步骤37:判断任务队列是否为空。如果不为空则获取任务,并提取任务参数;如果为空则结束线程。步骤38:从任务中获取海报类型。可通过java的反射机制调用对应海报加载流程。步骤38具体包括步骤381至步骤387。步骤381:判断网络连接是否正常,如果异常则结束线程。如果正常,则进行步骤382。步骤382:获取任务的参数。如获取海报接口地址、图片缓存地址、海报的Intent参数、海报类型参数、海报的序号等。步骤383:从海报接口地址获取JSON(JavaScriptObjectNotation,JavaScript对象符号)数据。步骤384:通过Gson解析第一JSON数据,并反序列为相应的海报类。步骤385:从本地缓存中读取第二JSON数据,并反序列为相应的海报类。步骤386:比较第一JSON数据和第二JSON数据的更新时间,如果更新时间不同,则更新本地缓存内的数据,并标记为需要从网上更新本地缓存的海报图片。如果更新时间相同则标记为不需要更新本地缓存。若需要更新本地缓存内的数据,则具体可更新海报类成员:海报图片、海报详情和海报跳转的Intent值等。步骤387:更新用户界面的海报图片。具体可用主线程的身份去更新用户界面中海报图片、海报详情等。步骤S140:结束用户界面的桌面启动器应用,回收上一角色运行所占内存。在调用切换角色页面进行显示时,结束桌面启动器应用以回收上一角色运行所占内存,最大消耗内存是消耗内存最多的角色所占用的内存。步骤S150:接收角色选择指令,并根据角色选择指令选择当前角色。用户同样可通过遥控器发送角色选择指令至智能电视,利用遥控器控制用户界面的选择焦点移动,从而选定当前角色。当前角色可以是与上一角色相同,也可以是与上一角色不同的新角色。步骤S160:保存当前角色,并根据当前角色重新加载用户界面。保存当前角色的步骤具体可包括以下步骤:保存当前角色的值到内存中角色变量中;保存当前角色的值到SharedPreferences中的角色变量中,并重复步骤122至步骤125。根据当前角色重新加载用户界面的具体方式与步骤127类似,在此不再赘 述。上述用户界面显示方法,由于可进行多角色的切换,不同人群可以选择自己喜欢用户界面风格,可满足不同人群的需求,提高使用便利性。引入多角色的概念,不同人群可以选择自己喜欢的用户界面风格,多角色用户界面的差异不是简单换个皮肤而已,用户界面的页数、内容都可以根据用户喜好进行调整,提高适用性。把用户界面资源和代码逻辑分开,新增一个角色只要新增一份配置文件即可。代码可延展性强,也方便后续维护,提高操作便利性。利用上述方法,就算有几十个角色,有几十种用户界面风格,内存消耗也只会占用一个角色占用的内在空间。桌面启动器最大消耗内存是消耗内存最多的角色所占用的内存。这与传统的非多角色桌面启动器所占内存是差不多的。在切换角色时将上一角色所占用的资源全部释放掉,做到了用户界面多角色切换不增加内存的效果,降低了生产成本。一种用户界面显示系统,具体可应用于智能电视、触控屏手机或平板电脑等设备的界面显示,为便于理解,以下均以智能电视的用户界面显示为例进行解释说明。如图4所示,用户界面显示系统包括切换指令接收模块130、应用内存回收模块140、选择指令接收模块150和角色保存加载模块160。切换指令接收模块130用于接收角色切换指令后调用切换角色页面进行显示。用户具体可通过按下遥控器上的角色键发送角色切换指令至智能电视,控制智能电视的用户界面跳转到切换角色页面进行显示。在其中一个实施例中,如图5所示,用户界面显示系统还包括数据初始化模块110和配置数据加载模块120。数据初始化模块110用于在切换指令接收模块130接收角色切换指令后调用切换角色页面进行显示之前,进行数据初始化处理。可以是在应用启动时通过重写onCreate()来初始化数据。具体地,本实施例中进行数据初始化处理包括设置桌面启动器的上下文目录、应用数据库初始化、壁纸设置、顶部状态栏初始化、导航栏初始化、工作区初始化和任务队列初始化中的至少一种。上下文目录是指桌面启动器的框架布局,框架布局包含ImageView的焦点框和 LinearLayout,如图3所示,LinearLayout包括顶部状态栏、导航栏、工作区的布局。配置数据加载模块120用于在切换指令接收模块130接收角色切换指令后调用切换角色页面进行显示之前,加载用户界面配置数据。具体可通过重写onResume()的方法加载用户界面配置数据。在其中一个实施例中,配置数据加载模块120包括读取单元、第一判断单元、第一处理单元、第二处理单元、第二判断单元和加载单元。读取单元用于读取当前内存中角色的值。。角色的值用一个整型变量表示,具体用Android的SharedPreferences(轻量级存储类)储存方式进行保存,可保存在智能电视的FLASH存储器中。第一判断单元,用于判断当前内存中角色的值是否为预设的默认值。因为角色的值使用比较频繁,所以在内存中用一个变量来保存,本实施例中变量的默认值为-1。第一处理单元,用于在当前内存中角色的值为默认值时,则从轻量级存储类中获取预先保存的角色的值。如果当前内存中角色的值为-1,则从SharedPreferences中获取所保存的角色的值。如果获取不到则返回-1,如果当前角色的值小于0,即为-1的默认值时,则认为首次启动这个应用,跳转到切换角色的页面。第二处理单元,用于在当前内存中角色的值不是默认值时,则获取当前内存中角色的值。如果当前内存中角色的值不为-1,则可直接返回当前内存中角色的值,将当前内存中的值作为角色的值。第二判断单元,用于判断获取的角色的值是否在预设的允许范围内。允许范围可根据实际情况调整。加载单元,用于在获取的角色的值在允许范围内时,加载对应角色的用户界面配置数据。在角色的值处于允许范围内时,加载对应角色的用户界面配置数据,实现对应角色的用户界面显示。在其中一个实施例中,加载单元包括第一单元、第二单元和第三单元。第一单元用于在在获取的角色的值在允许范围内时,读取当前角色,并根 据当前角色加载导航栏数据数组,并获取与导航栏数据数组对应的字符串数组。根据当前角色组合所要加载导航栏数据数组的名字,如"navigation_role"+role+"_array",具体的组成形式不限。在arrays资源中查找所组合的名字对应的字符串数组。具体可采用java的反映机制进行查找。如果找不到对应的字符串数组,则还可输出提醒信息,如抛出“NoSuchFieldException”,以提醒用户异常。第二单元用于计算字符串数组的元素个数,并根据元素个数得到用户界面的工作区总页数。得到相应的字符串数组后,计算字符串数组元素个数N,从而可设置用户界面工作区总共页数为元素个数N。由于导航栏的每一项对应是用户界面工作区显示的每一页的。通过以上设计可以做到只是更改资源文件array.xml对应数组元素个数就可以控制用户界面工作区显示页数,而不用去更改Java的代码,提高操作便利性。第三单元用于根据工作区总页数分别导入当前角色所对应的导航栏数据,并加载用户界面的工作区数据。可利用导航栏控件根据所得到的元素个数N动态生成相应个数的子视图。动态生成子视图的过程中可以设置子视图的字体大小,颜色,选中样式等预设属性。用户同样可利用遥控器移动切换选择焦点来控制子视图切换,如让导航栏第一个子视图获取选择焦点,智能电视在启动时工作区就会显示第一页的数据。对导航栏的选择焦点进行监听,当导航栏的选择焦点变化时将切换对应的页上去,实现子视图切换。本实施例中工作区采用网格式设计。网格区域内分成M*N的网格,区域内用自定义控件填充,自定义控件的大小、位置都基于这个最小网格单元,以便于设计和维护时控制控件的大小和位置,提高操作便利性。具体可利用线程来加载工作区数据,通过重写线程的运行方法读取当前角色。进一步地,第三单元加载用户界面的工作区数据,具体为:根据当前角色加载相应的工作区数据配置文件;解析工作区数据配置文件,获取自定义控件对应的属性集合;从属性集合中获取自定义控件的配置属性,并根据配置属性 生成对应的控件;将生成的控件导入用户界面的工作区内对应的网格区域。具体实施方式在上文步骤32至步骤35中进行了详细的解释说明,在此不再赘述。自定义控件具体可以是actionbutton(动作按钮)控件、appgrid(应用程序方格)控件或天气预报控件等。以actionbutton控件和appgrid控件为例,实例化自定义控件的具体实施例在上述用户界面显示方法中进行了详细的解释说明,在此不再赘述。在其中一个实施例中,第三单元加载用户界面的工作区数据,还可包括利用线程处理任务队列的任务,具体实施方式在上述用户界面显示方法中进行了详细的解释说明,在此不再赘述。应用内存回收模块140用于结束用户界面的桌面启动器应用,回收上一角色运行所占内存。在调用切换角色页面进行显示时,结束桌面启动器应用以回收上一角色运行所占内存,最大消耗内存是消耗内存最多的角色所占用的内存。选择指令接收模块150用于接收角色选择指令,并根据角色选择指令选择当前角色。用户同样可通过遥控器发送角色选择指令至智能电视,利用遥控器控制用户界面的选择焦点移动,从而选定当前角色。当前角色可以是与上一角色相同,也可以是与上一角色不同的新角色。角色保存加载模块160用于保存当前角色,并根据当前角色重新加载用户界面。保存当前角色,以及根据当前角色重新加载用户界面的具体方式在上文步骤S160中进行了解释说明,在此不再赘述。上述用户界面显示系统,由于可进行多角色的切换,不同人群可以选择自己喜欢用户界面风格,可满足不同人群的需求,提高使用便利性。引入多角色的概念,不同人群可以选择自己喜欢的用户界面风格,多角色用户界面的差异不是简单换个皮肤而已,用户界面的页数、内容都可以根据用户喜好进行调整,提高适用性。把用户界面资源和代码逻辑分开,新增一个角色只要新增一份配置文件即可。代码可延展性强,也方便后续维护,提高操作便利性。利用上述系统,就算有几十个角色,有几十种用户界面风格,内存消耗也只会占用一个角色占用的内在空间。桌面启动器最大消耗内存是消耗内存最多的角色所占用的内存。这与传统的非多角色桌面启动器所占内存是差不多的。 在切换角色时将上一角色所占用的资源全部释放掉,做到了用户界面多角色切换不增加内存的效果,降低了生产成本。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1