本公开涉及互联网技术领域,特别涉及一种应用界面的显示方法、装置、终端及存储介质。
背景技术:
游戏中会包含多种活动界面,例如,抽奖活动界面,在不同的日期,活动界面的显示效果会有所变化,例如,七夕时,抽奖活动界面会以七夕为主题,中秋时,抽奖活动界面会以中秋为主题。对于不同主题的抽奖活动界面,电子设备需要在抽奖活动界面上加载不同的界面控件蓝图,通过不同主题的界面控件蓝图渲染出不同主题的抽奖活动界面。
相关技术中,游戏的安装包中包括与抽奖活动界面对应的多个界面控件蓝图,一个界面控件蓝图对应一个主题,电子设备下载游戏的安装包后,响应于进入抽奖活动界面,从安装包中获取与当前节日的主题对应的界面控件蓝图,将该界面控件蓝图加载到抽奖活动界面中。
这种做法存在的问题是,由于游戏的安装包中包括与一个活动界面对应的多个不同主题的界面控件蓝图,导致游戏的安装包过大,降低用户的下载积极性。
技术实现要素:
本公开实施例提供了一种应用界面的显示方法、装置、终端及存储介质,能够解决减小游戏的安装包,提高用户的下载积极性。所述技术方案如下:
第一方面,提供了一种应用界面的显示方法,所述方法包括:
响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与所述活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载所述模板;
获取所述模板引用的界面配置表,所述界面配置表中存储所述模板的第一用户界面ui组件套和所述第一ui组件套的第一主题信息,以及所述模板的第一皮肤资源和所述第一皮肤资源的第二主题信息;
根据所述第一主题信息,从所述第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据所述第二主题信息从所述第一皮肤资源中选择主题为所述目标主题的目标皮肤资源;
获取所述目标ui组件套中的目标ui组件的第一属性信息和所述目标皮肤资源的第二属性信息;
根据所述第一属性信息将所述目标ui组件分帧加载到所述第二目标应用界面中,以及根据所述第二属性信息将所述目标皮肤资源分帧加载到所述第二目标应用界面中,得到所述活动界面。
在一种可能的实现方式中,所述第一属性信息包括所述目标ui组件的位置信息、缩放信息和旋转信息;
所述根据所述第一属性信息将所述目标ui组件加载到所述第二目标应用界面中,包括:
根据所述位置信息,将所述目标ui组件分帧加载到所述第二目标应用界面中所述模板的对应位置;
根据所述缩放信息调整所述目标ui组件在所述第二目标应用界面中的显示尺寸;以及根据所述旋转信息,调整所述目标ui组件在所述目标应用界面中的方向。
在另一种可能的实现方式中,所述方法还包括:
响应于所述活动界面的活动不是全屏活动,将所述第一目标应用界面的内容分帧加载到所述第二目标应用界面中。
第二方面,提供了一种界面控件蓝图的优化方法,所述方法包括:
获取界面控件蓝图,所述界面控件蓝图包括第二ui组件;
根据所述界面控件蓝图的功能和所述第二ui组件的功能,从所述第二ui组件中选择常驻ui组件和挂载ui组件;
根据所述常驻ui组件生成所述界面控件蓝图的模板,以及根据所述挂载ui组件生成所述模板的第一ui组件套;
确定所述第一ui组件套中的第一ui组件在所述模板中的位置信息、缩放信息和旋转信息,根据所述位置信息、所述缩放信息和所述旋转信息,生成所述第一ui组件的属性信息;
创建界面配置表,所述界面配置表中包括所述第一ui组件套和所述第一ui组件的属性信息。
在一种可能的实现方式中,所述方法还包括:
查看所述模板对界面配置表的引用方式,响应于所述引用方式为强引用,将所述引用方式改为弱引用。
在另一种可能的实现方式中,所述方法还包括:
获取所述界面控件蓝图的帧率优化方式,所述帧率优化方式包括ui组件查询方式和ui组件隐藏方式;
获取所述第二ui组件中需要动态修改的文本块textblock和富文本框,根据所述ui组件查询方式将所述textblock和所述富文本框的查询属性设置为变化的isvolatile;
获取所述第二ui组件中需要隐藏的ui组件,根据所述ui组件隐藏方式将所述需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间。
第三方面,提供了一种应用界面的显示装置,所述装置包括:
加载模块,用于响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与所述活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载所述模板;
第一获取模块,用于获取所述模板引用的界面配置表,所述界面配置表中存储所述模板的第一用户界面ui组件套和所述第一ui组件套的第一主题信息,以及所述模板的第一皮肤资源和所述第一皮肤资源的第二主题信息;
第一选择模块,用于根据所述第一主题信息,从所述第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据所述第二主题信息从所述第一皮肤资源中选择主题为所述目标主题的目标皮肤资源;
所述第一获取模块,还用于获取所述目标ui组件套中的目标ui组件的第一属性信息和所述目标皮肤资源的第二属性信息;
所述加载模块,还用于根据所述第一属性信息将所述目标ui组件分帧加载到所述第二目标应用界面中,以及根据所述第二属性信息将所述目标皮肤资源分帧加载到所述第二目标应用界面中,得到所述活动界面。
在一种可能的实现方式中,所述第一属性信息包括所述目标ui组件的位置信息、缩放信息和旋转信息;
所述加载模块,还用于根据所述位置信息,将所述目标ui组件分帧加载到所述第二目标应用界面中所述模板的对应位置;根据所述缩放信息调整所述目标ui组件在所述第二目标应用界面中的显示尺寸;以及根据所述旋转信息,调整所述目标ui组件在所述目标应用界面中的方向。
在另一种可能的实现方式中,所述加载模块,还用于响应于所述活动界面的活动不是全屏活动,将所述第一目标应用界面的内容分帧加载到所述第二目标应用界面中。
第四方面,提供了一种界面控件蓝图的优化装置,所述装置包括:
第二获取模块,用于获取界面控件蓝图,所述界面控件蓝图包括第二ui组件;
第二选择模块,用于根据所述界面控件蓝图的功能和所述第二ui组件的功能,从所述第二ui组件中选择常驻ui组件和挂载ui组件;
生成模块,用于根据所述常驻ui组件生成所述界面控件蓝图的模板,以及根据所述挂载ui组件生成所述模板的第一ui组件套;
所述生成模块,还用于确定所述第一ui组件套中的第一ui组件在所述模板中的位置信息、缩放信息和旋转信息,根据所述位置信息、所述缩放信息和所述旋转信息,生成所述第一ui组件的属性信息;
所述生成模块,还用于创建界面配置表,所述界面配置表中包括所述第一ui组件套和所述第一ui组件的属性信息。
在一种可能的实现方式中,所述装置还包括:
修改模块,用于查看所述模板对界面配置表的引用方式,响应于所述引用方式为强引用,将所述引用方式改为弱引用。
在另一种可能的实现方式中,所述装置还包括:
设置模块,用于获取所述界面控件蓝图的帧率优化方式,所述帧率优化方式包括ui组件查询方式和ui组件隐藏方式;获取所述第二ui组件中需要动态修改的文本块textblock和富文本框,根据所述ui组件查询方式将所述textblock和所述富文本框的查询属性设置为变化的isvolatile;获取所述第二ui组件中需要隐藏的ui组件,根据所述ui组件隐藏方式将所述需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间。
第五方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述任一种可能实现方式中的应用界面的显示方法和界面控件蓝图的优化方法中所执行的操作。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述任一种可能实现方式中的应用界面的显示方法和界面控件蓝图的优化方法中终端执行的操作。
本公开实施例提供的技术方案带来的有益效果是:
在本公开实施例中,响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板;获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息;根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源;获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息;根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。上述方法通过一个界面控件蓝图的模板和界面配置表即可实现活动界面的主题切换,目标应用的安装包只需要包括一个界面控件蓝图的模板和界面配置表,可以减小安装包的大小,提高用户的下载积极性。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种实施环境的示意图;
图2是本公开实施例提供的一种应用界面的显示方法流程图;
图3是本公开实施例提供的一种界面控件蓝图的优化方法流程图;
图4是本公开实施例提供的一种界面控件蓝图的优化方法流程图;
图5是本公开实施例提供的一种应用界面的示意图;
图6是本公开实施例提供的一种界面控件蓝图的优化过程的示意图;
图7是本公开实施例提供的一种应用界面的显示方法流程图;
图8是本公开实施例提供的一种应用界面显示装置的框图;
图9是本公开实施例提供的一种界面控件蓝图的优化装置的框图;
图10是本公开实施例提供的一种终端的结构示意图;
图11是本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
首先,对本公开中涉及的专业术语做出解释:
虚幻引擎4(ue4):虚幻引擎4是游戏epic(公司名称)公司虚幻引擎的版本,是一个面向下一代游戏机和支持directx(directextension,微软公司创建的一种多媒体编程接口)的个人电脑的完整的游戏开发平台,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持。
蓝图可视化系统:蓝图可视化系统是一个完整的游戏脚本系统,其理念是使用基于节点的界面从虚幻编辑器中创建游戏可玩性元素,该系统非常灵活且非常强大,因为它为设计人员提供了一般仅供程序员使用的所有概念及工具。它是一种特殊类型的资源,为关卡设计师和游戏开发人员提供了一种在编辑器中快速创建及迭代游戏可玩性的工具。
蓝图:游戏的可视化脚本。
图1是本公开实施例提供的一种实施环境的示意图。参见图1,该实施环境包括第一终端101、服务器102和第二终端103。终端101和服务器102之间通过无线或者有线网络连接,服务器102和第二终端103之间通过无线或者有线网络连接。并且,第二终端103上可以安装由服务器102提供服务的目标应用,第二终端103对应的用户可以通过该目标应用实现例如数据传输、消息交互等功能。
第一终端101为开发人员侧的终端,用于开发以及优化目标应用,第一终端101可以为电脑、手机、平板电脑或者其他终端。第二终端103为用户侧的终端,用于下载以及使用目标应用。第二终端103可以为电脑、手机、平板电脑或者其他终端。目标应用可以为任意应用,例如,目标应用可以为游戏应用、购物应用、金融应用、社交应用或者短视频应用等。服务器102可以为该目标应用对应的后台服务器。相应的,服务器102可以为游戏应用服务器、购物服务器、金融服务器、社交应用服务器或者短视频应用服务器等。服务器102还可以为该目标应用的运营管理服务器。
在本公开中,第一终端101对目标应用的活动界面的界面控件蓝图优化后,得到界面控件蓝图的模板和模板引用的界面配置表,其中,界面配置表中存储有多个第一ui组件套以及每个第一ui组件套的第一主题信息,还存储有多个第一皮肤资源以及每个第一皮肤资源的第二主题信息,第一ui组件套和第一皮肤资源用于与模板结合,配置不同主题的活动界面。第一终端101将界面控件蓝图的模板和界面配置表放入目标应用的运行文件中,将运行文件发布在服务器102上。第二终端103从服务器102下载该目标应用的运行文件,通过运行文件安装以及使用目标应用。
第二终端103可以响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,从目标应用的运行文件中获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板。然后,第二终端103从该运行文件中获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息。第二终端103根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源。第二终端103获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息。第二终端103根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。
在一种可能的实现方式中,第一终端101也可以将界面配置表存储在服务器102中,相应的。终端103可以响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,向服务器102发送配置表获取请求,然后接收服务器102发送的模板引用的界面配置表。
图2是本公开实施例提供的一种应用界面的显示方法的流程图。参见图2,该实施例包括:
201、响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板。
202、获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息。
203、根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源。
204、获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息。
205、根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。
在一种可能的实现方式中,第一属性信息包括目标ui组件的位置信息、缩放信息和旋转信息;
根据第一属性信息将目标ui组件加载到第二目标应用界面中,包括:
根据位置信息,将目标ui组件分帧加载到第二目标应用界面中模板的对应位置;
根据缩放信息调整目标ui组件在第二目标应用界面中的显示尺寸;以及根据旋转信息,调整目标ui组件在目标应用界面中的方向。
在另一种可能的实现方式中,方法还包括:
响应于活动界面的活动不是全屏活动,将第一目标应用界面的内容分帧加载到第二目标应用界面中。
在本公开实施例中,响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板;获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息;根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源;获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息;根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。上述方法通过一个界面控件蓝图的模板和界面配置表即可实现活动界面的主题切换,目标应用的安装包只需要包括一个界面控件蓝图的模板和界面配置表,可以减小安装包的大小,提高用户的下载积极性。
图3是本公开实施例提供的一种界面控件蓝图的优化方法流程图。参见图3,该实施例包括:
301、获取界面控件蓝图,界面控件蓝图包括第二ui组件。
302、根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件。
303、根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套。
304、确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息。
305、创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。
在一种可能的实现方式中,方法还包括:
查看模板对界面配置表的引用方式,响应于引用方式为强引用,将引用方式改为弱引用。
在另一种可能的实现方式中,方法还包括:
获取界面控件蓝图的帧率优化方式,帧率优化方式包括ui组件查询方式和ui组件隐藏方式;
获取第二ui组件中需要动态修改的文本块textblock和富文本框,根据ui组件查询方式将textblock和富文本框的查询属性设置为变化的isvolatile;
获取第二ui组件中需要隐藏的ui组件,根据ui组件隐藏方式将需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间。
在本公开实施例中,获取界面控件蓝图,界面控件蓝图包括第二ui组件;根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件;根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套;确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息;创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。通过生成界面控件蓝图的模板以及创建界面配置表,界面配置表中包括第一ui组件套,则后续可通过界面配置表中的第一ui组件套与模板结合显示不同的界面效果。
图4是本公开实施例提供的一种界面控件蓝图的优化方法的流程图。这个实施例以第一终端为例进行说明,第一终端为优化界面控件蓝图的终端,主要描述了第一终端优化界面控件蓝图的过程。参见图4,该实施例包括:
401、第一终端获取界面控件蓝图,界面控件蓝图包括第二ui组件。
其中,该界面控件蓝图可以是目标应用的活动界面的界面控件蓝图,其可以是ui或者美术岗位的设计师交付的。该界面控件蓝图包括多个第二ui组件。
第二ui组件可以为按钮(buttons)、图标(icon)、栅格(grid)、消息框(dialog)、折叠面板(accordion)、操作表(actionsheet)、数字角标(badge)、卡片视图(cardview)、复选框(checkbox)、表单(ipnut)、list(列表)、侧滑菜单(offcanvas)、弹出菜单(popover)、选择器(picker)、进度条(progressbar)、透明标题栏(transparentbar)、单选框(radio)、开关(switch)、滑块(range)或者其他ui组件,例如,还可以为遮罩蒙版(mask),本公开对此不做限制。
402、第一终端根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件。
其中,常驻ui组件是指常驻在界面中的组件,挂载ui组件是指可以动态加载到界面的组件。
需要说明的一点是,在该步骤前,第一终端需要先清除界面控件蓝图中无用的ui组件,例如,活动界面的活动为全屏活动,则可以将界面控件蓝图中用于遮盖第一应用界面的遮罩蒙版清除。该步骤为对界面控件蓝图的文件大小的优化,通过该步骤可对界面控件蓝图进行精简,从而减小蓝图文件的大小。
403、第一终端根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套。
其中,第一ui组件套用于与模板配合,呈现不同的界面效果。
第一终端根据常驻ui组件生成界面控件蓝图的模板的实现方式可以为:第一终端由常驻ui组件构成界面控件蓝图的模板。
第一终端根据挂载ui组件生成模板的第一ui组件套的实现方式可以为:第一终端去掉挂载ui组件中功能重复的ui组件,将剩下的第一ui组件构成第一ui组件套。
在本公开实施例中,第一终端通过根据常驻ui组件生成界面控件蓝图的模板,可以减小模板的大小,第一终端通过去掉挂载ui组件中功能重复的ui组件,将剩下的第一ui组件构成第一ui组件套,可以减小第一ui组件套的大小,由于目标应用的运行文件要包括该模板和第一ui组件套,从而可以减小目标应用的运行文件的大小,提高用户下载目标应用的积极性。
参考图5,为抽奖活动界面的界面控件蓝图。其中,奖池组件1和奖池组件6为常驻ui组件,图标组件2、图标组件3、图标组件4和图标组件5为挂载ui组件,图标组件3、图标组件4、图标组件5与图标组件2功能重复,则第一ui组件套中的第一ui组件可以为图标组件2。
404、第一终端确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息。
该步骤的实现方式可以为:对于每个第一ui组件,设计师将该第一ui组件在模板中放置好后,第一终端记录该第一ui组件的位置信息、缩放信息和旋转信息,将该位置信息、缩放信息和旋转信息作为该第一ui组件的属性信息。
需要说明的一点是,对于同一个第一ui组件,该第一ui组件可以放置在模板的多个位置,并且,每个位置的该第一ui组件的尺寸和方向可以不同,也即是,一个第一ui组件可能对应多个位置信息、多个缩放信息以及多个旋转信息。
在本公开实施例中,通过第一终端确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息,后续第二终端可以根据该属性信息将第一ui组件动态加载到模板中,从而实现将界面控件蓝图中的部分ui组件改为动态加载的ui组件,可以减小目标应用的运行文件的大小。另外,本公开通过删除功能重复的ui组件,通过对同一个ui组件动态改变大小,方向而不是大量添加switcher(组件)的方式来实现加载多个功能相同的ui组件,也可以减小运行文件的大小。
继续参考图5,对于图标组件2,设计师可以将其放置在图4中图标组件2、图标组件3、图标组件4和图标组件5的位置,并且调整好显示尺寸和方向,然后第一终端记录下图标组件2的多个位置信息、缩放信息和旋转信息,根据该多个位置信息、缩放信息和旋转信息生成第一ui组件的属性信息。
405、第一终端创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。
第一终端生成界面控件蓝图的模板后,设计人员可以基于该模板制作不同主题的第一ui组件套,相应的,界面配置表中可以存储多个第一ui组件套,一个第一ui组件套对应一个主题。界面配置表中可以存储每个第一ui组件套的第一主题信息。界面配置表中还可以存储多个不同主题的第一皮肤资源和每个第一皮肤资源的第二主题信息。界面配置表中还可以存储其他与活动界面的活动相关的信息,例如,该活动的关联活动,本公开对此不做限制。通过界面配置表实现了高度可配置的活动界面设计。
主题信息可以包括ui组件套或者皮肤资源对应的主题,用于表明ui组件套或者皮肤资源对应的主题风格,例如,主题信息中ui组件套或者皮肤资源对应的主题可以为中秋主题、七夕主题、新春主题或者其他主题,本公开对此不做限制。每个第一ui组件套和每个第一皮肤资源对应一个主题,例如,界面配置表存储两个第一ui组件套和两个第一皮肤资源,第一个第一ui组件套和第一个第一皮肤资源对应的主题为中秋主题,第二个第一ui组件套和第二个第一皮肤资源对应的主题为七夕主题。第一主题信息与第二主题信息为相同的主题信息,且第一主题信息和第二主题信息可以为上述任意一种。
在本公开实施例中,通过生成界面控件蓝图的模板,设计人员可以通过该模板制作不同主题的第一ui组件套和第一皮肤资源,不同主题的第一ui组件套和第一皮肤资源与模板配合则可实现活动界面主题风格的变化,即多个版本的活动只需要一个模板和多个第一ui组件套以及多个第一皮肤资源就可以实现,而不需要每个版本的活动都对应一个界面控件蓝图,从而可以大大减小运行文件的大小。并且,节省了开发人员重复开发和测试的过程,从而节省了人力,提高了开发的效率。
需要说明的一点是,该界面配置表可以包括在目标应用的运行文件中,从而一个版本的运行文件可以灵活更换多个主题风格不同的活动界面,该界面配置表还可以存储在目标应用的后台服务器或者运营管理服务器中,从而活动上线后仍可以调整活动内容。
需要说明的另一点是,界面控件蓝图的性能优化可以包括三个部分,蓝图文件大小优化,帧率优化和ui响应耗时优化。通过上述步骤实现了对界面控件蓝图的文件大小的优化,可通过接下来的步骤实现对界面控件蓝图的帧率优化和ui响应耗时优化。
406、第一终端获取界面控件蓝图的帧率优化方式,帧率优化方式包括ui组件查询方式和ui组件隐藏方式。
其中,ui组件的查询方式可以为在ui组件加载的每一帧都查询或者不是每一帧都查询,例如只在特定的帧查询。ui组件隐藏方式可以为隐藏且保留布局空间或者隐藏且不保留布局空间。设计人员可以将ui组件查询方式和ui组件隐藏方式预存在第一终端中,相应的,第一终端可以从本地获取界面控件蓝图的帧率优化方式。
407、第一终端获取第二ui组件中需要动态修改的文本块textblock和富文本框,根据ui组件查询方式将textblock和富文本框的查询属性设置为变化的isvolatile。
需要说明的一点是,步骤407和步骤408是对界面控件蓝图的帧率优化,在对界面控件蓝图进行帧率优化前,先要查看终端打开活动界面时的帧率,来分析影响帧率的因素。相应的,帧率查看的方式可以为:在第三终端(测试终端)上调出指令界面,输入statfps(帧率查看命令),查看界面中显示的第一帧率,打开目标应用的第一目标应用界面,查看帧率稳定时,界面中显示的第二帧率,打开活动界面,查看帧率稳定时,界面中显示的第三帧率。其中,第三终端可以为低端机型,也可以为高端机型。如果是高端机型,可以在调出帧率显示后,将画质选项调为超高清,从而可以看出第三帧率和第二帧率的差距。
响应于第二帧率与第三帧率的差值大于预设阈值,通过虚幻引擎四(ue4)的性能分析(profiling)功能,录制打开活动界面的一段时间内测试终端的中央处理器(centralprocessingunit,cpu)快照,通过该cpu快照分析高耗时帧的影响因素。
通过上述方法可发现,影响帧率的主要因素包括ui组件的查询属性的设置,如果活动界面包括的ui组件中需要动态修改的文本块(textblock)和富文本框的查询属性没有勾选为变化的(isvolatile),第二终端则会在加载活动界面的每一帧查询该文本块(textblock)和富文本框,耗时很高。在本公开实施例中,第一终端通过获取第二ui组件中需要动态修改的文本块textblock和富文本框,根据ui组件查询方式将textblock和富文本框的查询属性设置为变化的isvolatile,可以降低耗时,提高帧率。
以目标应用为游戏应用为例,影响帧率的主要因素还包括摄像机组件。在游戏中,摄像机相当于眼睛,通过它来看整个游戏的世界,所有场景都需要通过摄像机来渲染出来。在本公开实施例中,第一终端可以将用于渲染游戏大厅的大厅摄相机设置为响应于第二终端进入活动界面,该活动界面中的活动为全屏活动,大厅摄相机被拉远至不会渲染的位置,响应于第二终端退出活动界面,大厅摄像机被还原。通过该方法实现在活动界面中的活动为全屏活动时,不去渲染游戏大厅,从而可以提高帧率。
408、第一终端获取第二ui组件中需要隐藏的ui组件,根据ui组件隐藏方式将需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间。
第一终端将需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间的实现方式为:第一终端将需要隐藏的ui组件的隐藏选项设置为collapsed(一种隐藏方式)。其中,需要隐藏的ui组件包括需要动态加载的ui组件以及初始化可以隐藏的ui组件,还可以包括其他需要隐藏的ui组件,本公开对此不做限制。
通过上述方法发现,影响帧率的主要因素还包括ui组件的隐藏属性的设置,如果将活动界面包括的ui组件中需要隐藏的ui组件的隐藏选项设置为hidden(另一种隐藏方式),则第二终端还是会渲染该需要隐藏的ui组件,从而浪费cpu资源。在本公开实施例中,第一终端通过根据ui组件隐藏方式,将需要隐藏的ui组件的隐藏选项设置为collapsed,则第二终端不会去渲染该需要隐藏的ui组件,从而可以提高帧率。
409、第一终端查看模板对界面配置表的引用方式,响应于引用方式为强引用,将引用方式改为弱引用。
其中,弱引用的方式可以为第一终端将运行文件中的模板采用引用界面配置表的名称的方式引用界面配置表。
该步骤为对界面控件蓝图的ui响应耗时优化,ui响应耗时是指用户点击打开活动界面到活动界面真正打开的耗时。
该步骤还包括第一终端查看模板引用的sizemap(数据资源),其中,sizemap中包括多个与活动界面的活动相关的纹理,第一终端将该多个纹理合成制作为尽量少的图集文件夹,然后通过弱引用的方式引用图集文件夹。
在本公开实施例中,第一终端通过将纹理合成制作为图集文件夹,模板引用图集文件夹,可以减少第二终端加载图集时载入的无关资源。第一终端通过弱引用的方式引用界面配置表和图集文件夹,从而第二终端不会在加载模板时直接将界面配置表和图集文件夹载入,而是在用到是载入,从而可以降低ui响应耗时。
需要说明的一点是,第一终端还可以预设一个默认的活动界面。例如,该该默认的活动界面可以为蓝图界面控件的模板,当然,该默认的活动界面还可以为其他,本公开对此不做限制。后续第二终端可以分帧加载活动界面,例如,第二终端先在活动界面中加载出默认的活动界面,然后再逐步加载出具体的内容,从而降低了用户的等待时间,可以提高用户粘性。
参考图6,为界面控件蓝图的优化过程示意图,界面控件蓝图的性能优化包括三个部分,分别为文件大小优化、帧率优化和ui响应耗时优化。文件大小优化包括清除界面控件蓝图中无用的ui组件、创建模板、去掉重复的ui组件、创建动态加载的ui组件以及界面配置表存储主题资源(第一ui组件套和第一皮肤资源)。帧率优化包括利用帧率工具分析影响帧率的因素,进而隐藏大厅摄像机,关闭需要动态修改的文本框的查询,将需要隐藏的ui组件的隐藏方式设为隐藏且不保留布局空间,即将隐藏选项设为collapsed。ui响应耗时优化包括削减ui组件数量、去除对表格和图集等数据资源的强引用以及分帧加载ui组件。
需要说明的一点是,原来开发一个新版本的活动界面,例如抽奖活动界面,需要开发人员开发7天工时,美术设计人员重构美术资源2天工时,然而,通过本公开实施例中的方法,只需要常规的美术工作和策划人员一天的配置工时,大大节省了人力,提高了开发效率。另外,一个版本的运行文件可以上线多个版本的活动界面,并且,只需要通过一个模板和多个主题资源即可实现,减少了运行文件的大小。
在本公开实施例中,获取界面控件蓝图,界面控件蓝图包括第二ui组件;根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件;根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套;确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息;创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。通过生成界面控件蓝图的模板以及创建界面配置表,界面配置表中包括第一ui组件套,则后续可通过界面配置表中的第一ui组件套与模板结合显示不同的界面效果。
图7是本公开实施例提供的一种应用界面的显示方法的流程图。这个实施例以第二终端为例进行说明,第二终端为使用优化后的界面控件蓝图的终端,主要描述了第二终端通过优化后的界面控件蓝图渲染出活动界面的过程。参见图7,该实施例包括:
701、第二终端响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板。
其中,第一目标应用界面可以为目标应用的主界面,以目标应用为游戏应用为例,该第一目标应用界面可以为游戏大厅的界面。活动界面为任意活动对应的界面,以目标应用为游戏应用为例,该活动界面可以为抽奖活动的界面、商城的界面或者其他活动界面,本公开对此不做限制。
界面控件蓝图的模板可以包括多个界面组件,界面组件指可在窗体上放置的可视化图形"元件",如按钮、文件编辑框等,其中大多数是具有执行功能或通过"事件"引发代码运行并完成响应的功能。
第一目标应用界面上可以包括活动界面的跳转接口,相应的,第二终端响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板的实现方式为:第二终端响应于接收到对该活动界面的跳转接口的触发操作,获取与活动界面对应的界面控件蓝图的模板。
第二终端可以从本地获取与活动界面对应的界面控件蓝图的模板,相应的,第二终端获取与活动界面对应的界面控件蓝图的模板的实现方式可以为:第二终端响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,从本地存储的目标应用的运行文件中获取与活动界面对应的界面控件蓝图的模板,其中运行文件可以为目标应用的安装包或者安装包解压后的执行文件,本公开对此不做限制。
在本公开实施例中,第二终端通过从本地获取与活动界面对应的界面控件蓝图的模板,则在无网的条件下,第二终端也可以获取到模板,扩展了方案的应用场景。
第二终端还可以从服务器获取与活动界面对应的界面控件蓝图的模板,相应的,第二终端获取与活动界面对应的界面控件蓝图的模板的实现方式可以为:第二终端响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,向服务器发送模板获取请求,获取请求携带活动界面的界面标识,服务器接收该活动界面的界面标识,获取该活动界面对应的界面控件蓝图的模板,将该模板返回给第二终端,第二终端接收该模板。其中,服务器可以为目标应用的后台服务器或者运营管理服务器,跟公开对此不做限制。
在本公开实施例中,第二终端通过从服务器获取与活动界面对应的界面控件蓝图的模板,则目标应用的运行文件中不必包括与活动界面对应的界面控件蓝图的模板,减小了运行文件大小,可以提高用户下载该运行文件的积极性。
需要说明的一点是,在本公开实施例中,第一目标应用界面也可以是其他活动界面,例如,若上述活动界面为抽奖活动界面时,第一目标应用界面可以是商城界面。
702、第二终端在第二目标应用界面上加载模板。
第二目标应用界面为目标应用当前的应用界面,第二终端可以在第二目标应用界面上直接加载模板,也可以在第二目标应用界面分帧加载模板,可以有效减少应用界面的卡顿,提高界面显示的流畅度。
703、第二终端获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息。
其中,第一ui(userinterface,用户界面)组件套和第一皮肤资源用于与模板配合,呈现不同的界面效果。第一ui组件套的个数可以为一个或者多个,第一皮肤资源的个数可以为一个或者多个,本公开对此不做限制。多个第一ui组件套和多个第一皮肤资源可以存储在一个界面配置表中,方便第二终端获取界面配置表以及根据界面配置表配置活动界面。
第一ui组件套中包括一个或者多个第一ui组件,用于与模板配合,呈现不同的界面效果。第一ui组件可以为按钮(buttons)、图标(icon)、栅格(grid)、消息框(dialog)、折叠面板(accordion)、操作表(actionsheet)、数字角标(badge)、卡片视图(cardview)、复选框(checkbox)、表单(ipnut)、list(列表)、侧滑菜单(offcanvas)、弹出菜单(popover)、选择器(picker)、进度条(progressbar)、透明标题栏(transparentbar)、单选框(radio)、开关(switch)、滑块(range)或者其他ui组件,例如,还可以为遮罩蒙版(mask),本公开对此不做限制。
第一皮肤资源可以包括活动界面的活动名称、活动规则、活动时间,概率公式,背景图片,产出碎片,抵扣券,界面提示信息以及外部跳转等中的任意一个或者多个,本公开对此不做限制。其中,背景图片可以包括各种按钮的背景图片、标题的背景图片或者其他背景图片,本公开对此不做限制。
需要说明的一点是,上述模板引用的界面配置表为模板通过弱引用方式引用的界面配置表,从而上述第二终端获取模板引用的界面配置表的条件为当活动界面包括该界面配置表中的数据时,第二终端才获取该界面配置表。如果模板是以强引用方式引用的界面配置表,则不论活动界面上是否包括界面配置表中的数据,第二终端均会在获取模板时,获取该界面配置表,如此会提高活动界面的ui响应耗时,而在本公开中,第一终端在对界面控件蓝图进行优化时,将模板对界面配置表的引用方式设为弱应用,则可以降低第二终端的活动界面的ui响应耗时。
704、第二终端根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源。
目标ui组件套可以为上述任意一个第一ui组件套,目标皮肤资源可以为上述任意一个第一皮肤资源。
第二终端在执行步骤704前,先要确定目标主题,相应的,第二终端确定目标主题的实现方式可以为:第二终端获取当前时间,根据当前时间确定当前时间所属的时间范围,确定该时间范围对应的主题,将该主题作为目标主题。
其中,第二终端可以存储每个主题对应的时间范围,例如,中秋主题对应时间范围可以为“8月14日-8月16日”,新春主题对应的时间范围可以为“1月24日-2月5日”,上述主题对应的时间范围只是示例性说明,本公开对此不做限制。
第二终端根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套的实现方式为:第二终端根据第一主题信息确定多个第一ui组件套中每个ui组件套对应的主题,从该多个第一ui组件套中选择主题为目标主题的第一ui组件套。
第二终端根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源的实现方式为:第二终端根据第二主题信息确定多个第一皮肤资源中每个第一皮肤资对应的主题,从该多个第一皮肤资源中选择主题为目标主题的第一皮肤资源。
705、第二终端获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息。
第一属性信息可以包括目标ui组件的位置信息、缩放信息、旋转信息、颜色背景信息中的一个或者多个,第一属性信息还可以包括目标ui组件的其他属性信息,本公开对此不做限制。第二属性信息可以包括目标皮肤资源的位置信息、缩放信息、旋转信息、颜色背景信息中的一个或者多个,第一属性信息还可以包括目标皮肤资源的其他属性信息,本公开对此不做限制。
706、第二终端根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。
在一种可能的实现方式中,第一属性信息包括目标ui组件的位置信息、缩放信息和旋转信息。相应的,第二终端根据第一属性信息将目标ui组件加载到第二目标应用界面中的实现方式为:第二终端根据位置信息,将目标ui组件分帧加载到第二目标应用界面中模板的对应位置,第二终端根据缩放信息调整目标ui组件在第二目标应用界面中的显示尺寸,以及根据旋转信息,调整目标ui组件在目标应用界面中的方向。
在本公开实施例中,通过根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面,可以有效减少应用界面的卡顿,提高界面显示的流畅度。
需要说明的一点是,第二终端在得到活动界面前,还响应于活动界面的活动不是全屏活动,将第一目标应用界面的内容分帧加载到第二目标应用界面中。
在本公开实施例中,第二终端通过在活动界面的活动不是全屏活动时,将第一目标应用界面的内容分帧加载到第二目标应用界面中,在活动为全屏活动时,则不在第二目标应用界面中加载第一目标应用界面的内容,可以提高帧率。
在本公开实施例中,响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板;获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息;根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源;获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息;根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。上述方法通过一个界面控件蓝图的模板和界面配置表即可实现活动界面的主题切换,目标应用的安装包只需要包括一个界面控件蓝图的模板和界面配置表,可以减小安装包的大小,提高用户的下载积极性。
图8是本公开实施例提供的一种应用界面显示装置的框图。参见图8,该实施例包括:
加载模块801,用于响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板。
第一获取模块802,用于获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息。
第一选择模块803,用于根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源。
第一获取模块802,还用于获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息。
加载模块801,还用于根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。
在一种可能的实现方式中,第一属性信息包括目标ui组件的位置信息、缩放信息和旋转信息;加载模块801,还用于根据位置信息,将目标ui组件分帧加载到第二目标应用界面中模板的对应位置;根据缩放信息调整目标ui组件在第二目标应用界面中的显示尺寸;以及根据旋转信息,调整目标ui组件在目标应用界面中的方向。
在另一种可能的实现方式中,加载模块801,还用于响应于活动界面的活动不是全屏活动,将第一目标应用界面的内容分帧加载到第二目标应用界面中。
在本公开实施例中,响应于接收到用于基于第一目标应用界面跳转到活动界面的触发操作,获取与活动界面对应的界面控件蓝图的模板,在第二目标应用界面上加载模板;获取模板引用的界面配置表,界面配置表中存储模板的第一用户界面ui组件套和第一ui组件套的第一主题信息,以及模板的第一皮肤资源和第一皮肤资源的第二主题信息;根据第一主题信息,从第一ui组件套中选择主题为目标主题的目标ui组件套,以及根据第二主题信息从第一皮肤资源中选择主题为目标主题的目标皮肤资源;获取目标ui组件套中的目标ui组件的第一属性信息和目标皮肤资源的第二属性信息;根据第一属性信息将目标ui组件分帧加载到第二目标应用界面中,以及根据第二属性信息将目标皮肤资源分帧加载到第二目标应用界面中,得到活动界面。上述方法通过一个界面控件蓝图的模板和界面配置表即可实现活动界面的主题切换,目标应用的安装包只需要包括一个界面控件蓝图的模板和界面配置表,可以减小安装包的大小,提高用户的下载积极性。
图9是本公开实施例提供的一种界面控件蓝图的优化装置的框图。参见图9,该实施例包括:
第二获取模块901,用于获取界面控件蓝图,界面控件蓝图包括第二ui组件。
第二选择模块902,用于根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件。
生成模块903,用于根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套。
生成模块903,还用于确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息。
生成模块903,还用于创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。
在一种可能的实现方式中,装置还包括:修改模块,用于查看模板对界面配置表的引用方式,响应于引用方式为强引用,将引用方式改为弱引用。
在另一种可能的实现方式中,装置还包括:设置模块,用于获取界面控件蓝图的帧率优化方式,帧率优化方式包括ui组件查询方式和ui组件隐藏方式;获取第二ui组件中需要动态修改的文本块textblock和富文本框,根据ui组件查询方式将textblock和富文本框的查询属性设置为变化的isvolatile;获取第二ui组件中需要隐藏的ui组件,根据ui组件隐藏方式将需要隐藏的ui组件的隐藏属性设置为隐藏且不保留布局空间。
在本公开实施例中,获取界面控件蓝图,界面控件蓝图包括第二ui组件;根据界面控件蓝图的功能和第二ui组件的功能,从第二ui组件中选择常驻ui组件和挂载ui组件;根据常驻ui组件生成界面控件蓝图的模板,以及根据挂载ui组件生成模板的第一ui组件套;确定第一ui组件套中的第一ui组件在模板中的位置信息、缩放信息和旋转信息,根据位置信息、缩放信息和旋转信息,生成第一ui组件的属性信息;创建界面配置表,界面配置表中包括第一ui组件套和第一ui组件的属性信息。通过生成界面控件蓝图的模板以及创建界面配置表,界面配置表中包括第一ui组件套,则后续可通过界面配置表中的第一ui组件套与模板结合显示不同的界面效果。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的应用界面的显示装置在进行应用界面的显示时,以及上述实施例提供的界面控件蓝图的优化装置在进行界面控件蓝图的优化时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用界面的显示装置与应用界面的显示方法实施例属于同一构思,上述实施例提供的界面控件蓝图的优化装置与界面控件蓝图的优化方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10示出了本公开一个示例性实施例提供的终端1000的结构框图。该终端1000可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的应用界面的显示方法以及界面控件蓝图的优化方法。
在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、触摸显示屏1005、摄像头组件1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1005用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位终端1000的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1008可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端1000的机体方向及转动旋转,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3d动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置终端1000的正面、背面或侧面。当终端1000上设置有物理按键或厂商logo时,指纹传感器1014可以与物理按键或厂商logo集成在一起。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图11是本公开实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1101和一个或一个以上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行以实现上述各个方法实施例提供的应用界面的显示方法以及界面控件蓝图的优化方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中应用界面的显示方法以及界面控件蓝图的优化方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。