CN109783347A - 一种调试移动设备应用程序界面性能的方法及装置 - Google Patents

一种调试移动设备应用程序界面性能的方法及装置 Download PDF

Info

Publication number
CN109783347A
CN109783347A CN201811486304.8A CN201811486304A CN109783347A CN 109783347 A CN109783347 A CN 109783347A CN 201811486304 A CN201811486304 A CN 201811486304A CN 109783347 A CN109783347 A CN 109783347A
Authority
CN
China
Prior art keywords
interface
application program
monitoring
dynamic
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811486304.8A
Other languages
English (en)
Other versions
CN109783347B (zh
Inventor
刘美智
姚杨煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Xishanju Interactive Entertainment Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Xishan Residence Interactive Entertainment Technology Co Ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Xishan Residence Interactive Entertainment Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Xishan Residence Interactive Entertainment Technology Co Ltd
Priority to CN201811486304.8A priority Critical patent/CN109783347B/zh
Publication of CN109783347A publication Critical patent/CN109783347A/zh
Application granted granted Critical
Publication of CN109783347B publication Critical patent/CN109783347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种调试移动设备应用程序界面性能的方法,适用于Unity3D应用程序,包括以下步骤:在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。本申请还公开了相应的调试移动设备应用程序界面性能的装置。

Description

一种调试移动设备应用程序界面性能的方法及装置
技术领域
本发明涉及软件调试领域,尤其涉及一种调试移动设备应用程序界面性能的方法及装置。
背景技术
目前在移动设备(例如智能手机和平板电脑)上的游戏广受大众欢迎。由于玩家可以方便地随时在移动设备上游玩,因此移动设备上的游戏倾向已经越来越明显。由于Unity引擎的稳定和成熟,其被绝大部分移动设备游戏开发人员所选用。无论是移动设备上那一种类型游戏,在其开发过程中游戏用户界面(User Interface,简称UI)都是很重要的开发环节。一般地,因为硬件设备的限制以及对驰航能力的考虑,移动设备的硬件性能相对于同级别的台式电脑或笔记本电脑要低;所以为了使得在移动设备上的游戏能够流畅地运行,开发人员需要相对于在主机上运行的游戏花费更多的精力进行优化。例如,一个在移动设备上运行且优化良好的游戏,其运行时UI开销应尽量控制在游戏整体开销的10%左右。然而,目前不少游戏的开销会显著高于这个比例。
当前Unity引擎提供两套图形用户界面工具库,用于编写应用程序内的图形用户界面,分别是UGUI和NGUI。因为上述两套工具库有各自优缺点,所以目前出现在市面上的游戏中,基于两者开发的项目比例大致相同。然而,不管游戏采用哪套图形用户界面工具库开发,应用程序运行时重建用户界面过程总是占据开销的绝大部分。
因此,为了尽可能减少对用户界面重建的次数,对用户界面上的界面元件进行静动分离是优化用户界面的有效方法。分离后,静止的界面元件被归为一组,变化频率类似的界面元件各自分为一组,从而可以针对性刷新界面元件,而无需对重建静止的界面元件,有效降低了界面元件的重建的压力。如何合理地确定上述界面元件的分组成为了目前开发过程中一个有实际意义的问题。
发明内容
本申请的目的是解决现有技术的不足,提供一种调试移动设备应用程序界面性能的方法及装置,能够获得自动统计记录界面元件的变化频率,从而实现对界面元件分组的效果。
为了实现上述目的,本申请采用以下的技术方案。
首先,本申请提出了一种调试移动设备应用程序界面性能的方法。该方法适用于Unity3D应用程序,并包括以下步骤:
S100)在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;
S200)运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;
S300)检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;
S400)在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
进一步地,在本申请的上述方法中,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。
再进一步地,在本申请的上述方法中,所述步骤S200还包括以下的子步骤:
S201)通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;
S202)基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;
S203)将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;
S204)记录各个监控实例,并删除存在时间大于1秒的监控实施。
又进一步地,在本申请的上述方法中,所述步骤S200还包括以下的后置处理步骤:根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。
进一步地,在本申请的上述方法中,所述步骤S300还包括以下的子步骤:
S301)基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;
S302)按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件。
其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定。
再进一步地,在本申请的上述方法中,所述步骤S300还包括以下的后置处理步骤:保存界面元件的元件ID及分组信息,并导出为外部可读文件。
进一步地,在本申请的上述方法中,所述界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭界面监控插件。
其次,本申请还公开了一种调试移动设备应用程序界面性能的装置。该装置适用于Unity3D应用程序,并包括以下模块:配置模块,用于在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;启动模块,用于运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;检测模块,用于检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;查找模块,用于在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
进一步地,在本申请的上述装置中,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。
再进一步地,在本申请的上述装置中,所述启动模块还包括以下的子模块:捕捉模块,用于通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;检索模块,用于基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;存储模块,用于将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;记录模块,用于记录各个监控实例,并删除存在时间大于1秒的监控实施。
又进一步地,在本申请的上述装置中,所述启动模块还包括以下的后置处理模块:可视化模块,用于根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。
进一步地,在本申请的上述装置中,所述检测模块还包括以下的子模块:判断模块,用于基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;分组模块,用于按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件。其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定。
再进一步地,在本申请的上述装置中,所述检测模块还包括以下的后置处理模块:导出模块,用于保存界面元件的元件ID及分组信息,并导出为外部可读文件。
进一步地,在本申请的上述装置中,所述界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭界面监控插件。
最后,本申请还提出一种计算机可读存储介质,其上存储有计算机指令。上述指令被处理器执行时,执行如下步骤:
S100)在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;
S200)运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;
S300)检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;
S400)在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
进一步地,在处理器执行上述指令时,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。
再进一步地,在处理器执行上述指令时,所述步骤S200还包括以下的子步骤:
S201)通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;
S202)基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;
S203)将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;
S204)记录各个监控实例,并删除存在时间大于1秒的监控实施。
又进一步地,在处理器执行上述指令时,所述步骤S200还包括以下的后置处理步骤:根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。
进一步地,在处理器执行上述指令时,所述步骤S300还包括以下的子步骤:
S301)基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;
S302)按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件。
其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定。
再进一步地,在处理器执行上述指令时,所述步骤S300还包括以下的后置处理步骤:保存界面元件的元件ID及分组信息,并导出为外部可读文件。
进一步地,在处理器执行上述指令时,所述界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭界面监控插件。
本申请的有益效果为:通过实时监控应用程序的界面元件以将其分组为静态界面元件和动态界面元件,并关闭被遮挡的动态界面元件,减少了界面重建时间,优化了界面性能。
附图说明
图1所示为本申请所公开的调试移动设备应用程序界面性能方法的方法流程图;
图2所示为在本申请的一个实施例中,监控界面元件的子方法流程图;
图3所示为在本申请的另一个实施例中,划分界面元件的子方法流程图;
图4所示为依据图3所示方法,保存界面元件划分信息的示意图;
图5所示为本申请所公开的调试移动设备应用程序界面性能装置的模块结构图。
具体实施方式
以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“该”和“所述”也旨在包括多数形式,除非上下文清楚地表示其他含义。
此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
参照图1所示的方法流程图,本申请公开了一种调试移动设备应用程序界面性能的方法。该方法适用于Unity3D应用程序,并包括如图所示的以下步骤:
S100)在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;
S200)运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;
S300)检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;
S400)在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
具体地,游戏项目的开发人员可以根据具体的应用程序源代码,以插件的形式将界面监控插件附加到待检测的应用程序上,以监控变化的界面元件。可替代地,开发人员也可以对应用程序的源代码直接插入上述用于监控界面元件的代码。相关的插件或者测试本的应用程序构建出包并安装到测试的移动设备上(例如智能手机或者平板电脑)。测试人员直接在移动设备上运行应用程序,使得相应的界面成为活动界面以进行监控,并依据监控所得的记录进行分组。
进一步地,在本申请的上述一个或多个实施例中,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。由于UIWidget是界面元件的抽象基类,可以通过监控UIWidget捕捉界面元件(例如本文框、选择框、图片框或界面本身等)的位置、缩放、颜色和显示隐藏等任意信息的变化,从而确定当前哪个界面元件在重建。
具体地,参照图2所示的方法流程图,在本申请的上述一个或多个实施例中,所述步骤S200还包括以下的子步骤:
S201)通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;
S202)基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;
S203)将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;
S204)记录各个监控实例,并删除存在时间大于1秒的监控实施。
游戏项目的开发任意可以创建继承自Unity MonoBehaviour类、用于监控界面元件的类。当检测到有界面元件的UIWidget变化时,上述用于监控界面元件的类可以接收到对应界面元件的元件ID、位置、尺寸、存在时间及出现时间点的信息。这些信息将按照预设数据结构存储为监控实例,并删除存在时间大于1秒的监控实例(此类监控实例一般为显示在图片框中的动态图,由于其并不需要重建相应的界面元件,因此被排除在外)。
进一步地,在本申请的上述一个或多个实施例中,所述步骤S200还包括以下的后置处理步骤:根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。具体的可视化方式可以是以界面的矩形包围盒作为几何位置数据,并使用半透明红色贴图的额外渲染多个方型图,使得每个变化的界面元件对应这样的一个方形图,以达到监控的可视化。参照上面的描述,具体的实现方式可以是创建继承自Unity MonoBehaviour类、用于监控界面元件的类UIDebugDraw,其可以包括用于记录需要高亮界面的接口HighlightWidget。该接口依据传入的界面元件的元件ID、位置和尺寸等参数,并将其存储在HighlightWidgetInfo的预设数据结构中。通过重载实现MonoBehaviour.OnGUI()接口,遍历所有HighlightWidgetInfo实例,并使用Unity接口GUI.DrawTexture(Rect,Texture,ScaleMode)额外绘制方形图。其中,Rect来自于HighlightWidgetInfo实例的位置尺寸信息,Texture为一张半透明红色贴图,ScaleMode使用StretchToFill模式,这样每个变化的UI元素都有一个对应的在显示的半透明红色方形。同时,OnGUI()接口记录每个HighlightWidgetInfo实例存在时间,且删除大于1s的实例。
参照图3所示的方法流程图,在本申请的一个或多个实施例中,所述步骤S300还包括以下的子步骤:
S301)基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;
S302)按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件;
其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定,并作为界面元件分类的重要的依据。例如,对于NGUI,UIPanel可被初始化为分组的单元,并统计在每个UIPanel内是否包括大量静态界面元件(例如静态界面元件占该分组界面元件数量的70%以上)。具体的优化方法可以例如通过调整各个界面元件所属的分组,在考虑到语义的前提下尽量使得每个UIPanel内只包含静态界面元件或者变化频率类似的动态界面元件。
进一步地,在本申请的上述一个或多个实施例中,所述步骤S300还包括以下的后置处理步骤:保存界面元件的元件ID及分组信息,并导出为外部可读文件。参照图4所示数据结构示意图,界面元件的元件ID及分组信息可以使用Map<UIPanel,List<UIWidget>>的数据结构存储所有监控到UIWidget。其中,UIWidget所属的UIPanel为Map的key,UIWidget列表为Map的value。上述数据结构导出为外部可读文件,并通过遍历上述Map,统计变化的UIWidget数量及UIPanel所有UIWidget数量,即可得到动态界面元件比例和静态界面元件比例。开发人员根据这些信息对游戏用户界面作相应的改进,例如另外再创建一个UIPanel存储静态界面元件,而使用原UIPanel存储动态界面元件。此外,本领域技术人员应理解到,附图中的显示元件的数量和形状仅作为示例性的参考,不作为对本发明的限制。
可替代地,在本申请的上述一个或多个实施例中,该界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭颜色编码贴图。将包含上述界面监控插件的应用程序安装到测试用的移动设备上。在运行游戏时,上述位于应用程序界面的开关可以方便地打开和关闭,以针对性地针对某一个批次的游戏用户界面进行调试。
参照图5所示的模块结构图,本申请还公开了一种调试移动设备应用程序界面性能的装置。该装置适用于Unity3D应用程序,并包括如图所示的以下模块:配置模块,用于在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;启动模块,用于运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;检测模块,用于检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;查找模块,用于在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。具体地,游戏项目的开发人员可以根据具体的应用程序源代码,以插件的形式将界面监控插件附加到待检测的应用程序上,以监控变化的界面元件。可替代地,开发人员也可以对应用程序的源代码直接插入上述用于监控界面元件的代码。相关的插件或者测试本的应用程序构建出包并安装到测试的移动设备上(例如智能手机或者平板电脑)。测试人员直接在移动设备上运行应用程序,使得相应的界面成为活动界面以进行监控,并依据监控所得的记录进行分组。
进一步地,在本申请的上述一个或多个实施例中,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。由于UIWidget是界面元件的抽象基类,可以通过监控UIWidget捕捉界面元件(例如本文框、选择框、图片框或界面本身等)的位置、缩放、颜色和显示隐藏等任意信息的变化,从而确定当前哪个界面元件在重建。
具体地,在本申请的上述一个或多个实施例中,所述启动模块还包括以下的子模块:捕捉模块,用于通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;检索模块,用于基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;存储模块,用于将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;记录模块,用于记录各个监控实例,并删除存在时间大于1秒的监控实施。游戏项目的开发任意可以创建继承自Unity MonoBehaviour类、用于监控界面元件的类。当检测到有界面元件的UIWidget变化时,上述用于监控界面元件的类可以接收到对应界面元件的元件ID、位置、尺寸、存在时间及出现时间点的信息。这些信息将按照预设数据结构存储为监控实例,并删除存在时间大于1秒的监控实例(此类监控实例一般为显示在图片框中的动态图,由于其并不需要重建相应的界面元件,因此被排除在外)。
进一步地,在本申请的上述一个或多个实施例中,所述启动模块还包括以下的后置处理模块:可视化模块,用于根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。具体的可视化方式可以是以界面的矩形包围盒作为几何位置数据,并使用半透明红色贴图的额外渲染多个方型图,使得每个变化的界面元件对应这样的一个方形图,以达到监控的可视化。参照上面的描述,具体的实现方式可以是创建继承自UnityMonoBehaviour类、用于监控界面元件的类UIDebugDraw,其可以包括用于记录需要高亮界面的接口HighlightWidget。该接口依据传入的界面元件的元件ID、位置和尺寸等参数,并将其存储在HighlightWidgetInfo的预设数据结构中。通过重载实现MonoBehaviour.OnGUI()接口,遍历所有HighlightWidgetInfo实例,并使用Unity接口GUI.DrawTexture(Rect,Texture,ScaleMode)额外绘制方形图。其中,Rect来自于HighlightWidgetInfo实例的位置尺寸信息,Texture为一张半透明红色贴图,ScaleMode使用StretchToFill模式,这样每个变化的UI元素都有一个对应的在显示的半透明红色方形。同时,OnGUI()接口记录每个HighlightWidgetInfo实例存在时间,且删除大于1s的实例。
在本申请的一个或多个实施例中,所述检测模块还包括以下的子模块:判断模块,用于基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;分组模块,用于按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件。其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定,并作为界面元件分类的重要的依据。例如,对于NGUI,UIPanel可被初始化为分组的单元,并统计在每个UIPanel内是否包括大量静态界面元件(例如静态界面元件占该分组界面元件数量的70%以上)。具体的优化方法可以例如通过调整各个界面元件所属的分组,在考虑到语义的前提下尽量使得每个UIPanel内只包含静态界面元件或者变化频率类似的动态界面元件。
进一步地,在本申请的上述一个或多个实施例中,所述检测模块还包括以下的后置处理模块:导出模块,用于保存界面元件的元件ID及分组信息,并导出为外部可读文件。参照图4所示数据结构示意图,界面元件的元件ID及分组信息可以使用Map<UIPanel,List<UIWidget>>的数据结构存储所有监控到UIWidget。其中,UIWidget所属的UIPanel为Map的key,UIWidget列表为Map的value。上述数据结构导出为外部可读文件,并通过遍历上述Map,统计变化的UIWidget数量及UIPanel所有UIWidget数量,即可得到动态界面元件比例和静态界面元件比例。开发人员根据这些信息对游戏用户界面作相应的改进,例如另外再创建一个UIPanel存储静态界面元件,而使用原UIPanel存储动态界面元件。此外,本领域技术人员应理解到,附图中的显示元件的数量和形状仅作为示例性的参考,不作为对本发明的限制。
可替代地,在本申请的上述一个或多个实施例中,该界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭颜色编码贴图。将包含上述界面监控插件的应用程序安装到测试用的移动设备上。在运行游戏时,上述位于应用程序界面的开关可以方便地打开和关闭,以针对性地针对某一个批次的游戏用户界面进行调试。
应当认识到,本申请的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。该方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
进一步地,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本申请的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文该步骤的指令或程序时,本文所述的申请包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本申请所述的方法和技术编程时,本申请还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本申请优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各种修改和改变。
其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。

Claims (9)

1.一种调试移动设备应用程序界面性能的方法,适用于Unity3D应用程序,其特征在于,包括以下步骤:
S100)在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;
S200)运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;
S300)检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;
S400)在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
2.根据权利要求1所述的方法,其特征在于,当应用程序是基于NGUI库编写界面时,所述界面监控插件通过UIWidget确定界面元件在指定时间段内是否出现变化。
3.根据权利要求2所述的方法,其特征在于,所述步骤S200还包括以下的子步骤:
S201)通过UIWidget捕捉当前活动界面内出现变化的界面元件,并获取所述界面元件的元件ID;
S202)基于所述元件ID,检索所述界面元件的名称、位置、尺寸、存在时间及出现时间点的信息;
S203)将界面元件的名称、位置、尺寸及当前时间点信息按预设的数据结构存储为监控实例;
S204)记录各个监控实例,并删除存在时间大于1秒的监控实施。
4.根据权利要求3所述的方法,其特征在于,所述步骤S200还包括以下的后置处理步骤:
根据所记录的监控实例,高亮对应的界面元件以实现监控的可视化。
5.根据权利要求3或4所述的方法,其特征在于,所述步骤S300还包括以下的子步骤:
S301)基于所记录的监控实例,判断各个界面元件为静态界面元件或动态界面元件;
S302)按照静态界面元件和动态界面元件的分类,划分界面元件到多个组,使得每个组内只包含静态界面元件或变化频率类似的动态界面元件;
其中,动态界面元件的变化频率由相应的存在时间及出现时间点确定。
6.根据权利要求5所述的方法,其特征在于,所述步骤S300还包括以下的后置处理步骤:
保存界面元件的元件ID及分组信息,并导出为外部可读文件。
7.根据权利要求1所述的方法,其特征在于,所述界面监控插件在待检测的应用程序上设置有位于应用程序界面的开关,使得可以在运行时打开或关闭界面监控插件。
8.一种调试移动设备应用程序界面性能的装置,适用于Unity3D应用程序,其特征在于,包括以下模块:
配置模块,用于在移动设备上配置运行时监控应用程序内界面元件变化的界面监控插件,并将所述界面监控插件附加在待检测的应用程序上;
启动模块,用于运行待检测的应用程序,并启动所述界面监控插件以监控所述应用程序当前活动界面内的所有界面元件;
检测模块,用于检测在指定时间段内出现变化的界面元件,以动态地确定当前活动界面内的静态界面元件和动态界面元件;
查找模块,用于在检测所得的动态界面元件中,查找被遮挡的动态界面元件,并关闭被遮挡的动态界面元件。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于该指令被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
CN201811486304.8A 2018-12-06 2018-12-06 一种调试移动设备应用程序界面性能的方法及装置 Active CN109783347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811486304.8A CN109783347B (zh) 2018-12-06 2018-12-06 一种调试移动设备应用程序界面性能的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811486304.8A CN109783347B (zh) 2018-12-06 2018-12-06 一种调试移动设备应用程序界面性能的方法及装置

Publications (2)

Publication Number Publication Date
CN109783347A true CN109783347A (zh) 2019-05-21
CN109783347B CN109783347B (zh) 2022-04-05

Family

ID=66496748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811486304.8A Active CN109783347B (zh) 2018-12-06 2018-12-06 一种调试移动设备应用程序界面性能的方法及装置

Country Status (1)

Country Link
CN (1) CN109783347B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522619A (zh) * 2020-05-03 2020-08-11 宋彦震 基于软件类型和鼠标指针位置自动降低扩展屏幕刷新频率方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081650A (zh) * 2010-12-29 2011-06-01 上海网达软件有限公司 嵌入式平台用户界面加速显示的方法
CN102222006A (zh) * 2011-07-22 2011-10-19 武汉天喻信息产业股份有限公司 移动Widget用户界面的实现方法及装置
CN103034583A (zh) * 2011-09-30 2013-04-10 国际商业机器公司 一种用于处理软件自动测试脚本的方法和系统
CN107315580A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081650A (zh) * 2010-12-29 2011-06-01 上海网达软件有限公司 嵌入式平台用户界面加速显示的方法
CN102222006A (zh) * 2011-07-22 2011-10-19 武汉天喻信息产业股份有限公司 移动Widget用户界面的实现方法及装置
CN103034583A (zh) * 2011-09-30 2013-04-10 国际商业机器公司 一种用于处理软件自动测试脚本的方法和系统
CN107315580A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522619A (zh) * 2020-05-03 2020-08-11 宋彦震 基于软件类型和鼠标指针位置自动降低扩展屏幕刷新频率方法
CN111522619B (zh) * 2020-05-03 2023-11-10 渴创技术(深圳)有限公司 基于软件类型和鼠标指针位置自动降低扩展屏幕刷新频率方法

Also Published As

Publication number Publication date
CN109783347B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
Bajer Building an IoT data hub with Elasticsearch, Logstash and Kibana
US10169433B2 (en) Systems and methods for an SQL-driven distributed operating system
CN102915242B (zh) 一种利用图形化操作实现代码编程的方法
US8938720B2 (en) Trace visualization for object oriented programs
US8290985B2 (en) Analyzing profiling data based on a rational model
CN109189682A (zh) 一种脚本录制方法和装置
CN107644286A (zh) 工作流处理方法及装置
US20060023723A1 (en) Object oriented library for markov chain monte carlo simulation
US10713152B2 (en) Automated path generator for optimized application testing
CN102495797A (zh) 智能卡测试装置和测试方法
CN113076257B (zh) 测试脚本录制方法、装置、介质及计算机设备
CN109801342A (zh) 动态标识移动设备上运行时贴图合适度的方法及装置
CN109783347A (zh) 一种调试移动设备应用程序界面性能的方法及装置
CN109284222A (zh) 软件单元、数据处理系统中的项目测试方法、装置及设备
CN110609703A (zh) 性能检测工具实现方法、装置、可读存储介质及终端设备
US11797577B2 (en) Smart data warehouse for cloud-based reservoir simulation
US20130318499A1 (en) Test script generation
Pham A video sensor simulation model with OMNET++
Gu et al. Ray specialized contraction on bounding volume hierarchies
CN111104281A (zh) 一种游戏性能监控方法、装置、系统及存储介质
CN115357696A (zh) 基于组件的动态图表看板展示方法及相关设备
CN108334313A (zh) 用于大型soc研发的持续集成方法、装置及代码管理系统
CN114546360A (zh) 代码程序推荐方法、装置、电子设备和存储介质
CN111813988B (zh) 用于图像特征库的hnsw节点删除方法、系统、设备和介质
CN115061902A (zh) 页面加载时间测试方法、装置、设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 519000 Room 303, former Island Ring Road, Tangjia Bay, Zhuhai high tech Zone, Guangdong, China, 303

Patentee after: ZHUHAI XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd.

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai, Guangdong

Patentee before: ZHUHAI XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd.

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.