用户界面操作监控方法、装置、设备和存储介质制造方法及图纸

技术编号:31452075 阅读:16 留言:0更新日期:2021-12-18 11:15
本公开是关于一种用户界面操作监控方法、装置、设备和存储介质。该方法包括:确定当前UI操作是否运行在UI操作的合法线程中,当确定当前UI操作不是运行在合法线程中时,将当前UI操作的信息传输至合法线程,在合法线程中处理当前UI操作的信息。该方法实现了在当前UI操作不是运行在合法线程中的情况中,即当前UI操作为非法线程发起的UI操作时,将该UI操作的信息传输至合法线程中进行处理。该UI操作监控方法可以在APP运行过程中实时进行UI操作监控,并对当前UI操作及时进行处理,避免了非法线程进行UI操作而导致的APP黑屏或者崩溃的问题,从而,提高了用户体验。提高了用户体验。提高了用户体验。

【技术实现步骤摘要】
用户界面操作监控方法、装置、设备和存储介质


[0001]本公开实施例涉及计算机
,尤其涉及一种用户界面(User Interface,UI)操作监控方法、装置、设备和存储介质。

技术介绍

[0002]应用程序(Application,APP)在运行过程中,主线程需要进行UI操作,即,刷新用户界面。如果主线程之外的子线程进行UI操作,会导致请求布局(requestLayout)方法流程阻塞,APP会黑屏或者直接崩溃(crash)。
[0003]目前,可以通过针对出问题的页面,发布相应的灰度安装包,即,测试安装包,进行用户日志采集,定位原因。
[0004]但是,上述方法是在APP发生黑屏或者crash后进行处理,这种事后处理的方式导致APP在运行过程中可能随时会出现黑屏或者crash,导致用户体验较差。

技术实现思路

[0005]本公开提供一种UI操作监控方法、装置、设备和存储介质,以解决目前的UI操作处理方式导致的用户体验不高的技术问题。
[0006]第一方面,本公开实施例提供了一种UI操作监控方法,该方法包括:
[0007]确定当前UI操作是否运行在UI操作的合法线程中;
[0008]当确定所述当前UI操作不是运行在所述合法线程中时,将所述当前UI操作的信息传输至所述合法线程;
[0009]在所述合法线程中处理所述当前UI操作的信息。
[0010]第二方面,本公开实施例还提供了一种UI操作监控装置,该装置包括:
[0011]确定模块,用于确定当前UI操作是否运行在UI操作的合法线程中;
[0012]传输模块,用于当确定所述当前UI操作不是运行在所述合法线程中时,将所述当前UI操作的信息传输至所述合法线程;
[0013]处理模块,用于在所述合法线程中处理所述当前UI操作的信息。
[0014]第三方面,本公开实施例还提供了一种终端设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开任意实施例所提供的UI操作监控方法的步骤。
[0015]第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所提供的UI操作监控方法的步骤。
[0016]本公开通过确定当前UI操作是否运行在UI操作的合法线程中,当确定当前UI操作不是运行在合法线程中时,将当前UI操作的信息传输至合法线程,在合法线程中处理当前UI操作的信息,实现了在当前UI操作不是运行在合法线程中的情况中,即当前UI操作为非法线程发起的UI操作时,将该UI操作的信息传输至合法线程中进行处理。该UI操作监控方
法可以在APP运行过程中实时进行UI操作监控,并对当前UI操作及时进行处理,避免了非法线程进行UI操作而导致的APP黑屏或者崩溃的问题,从而,提高了用户体验。
附图说明
[0017]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0018]图1为现有技术中UI操作的处理方式导致的界面变化示意图;
[0019]图2为本公开一实施例提供的UI操作监控方法的流程示意图;
[0020]图3为采用本实施例提供的UI操作监控方法的界面变化示意图;
[0021]图4为本公开另一实施例提供的UI操作监控方法的流程示意图;
[0022]图5为本公开一实施例提供的UI操作监控装置的结构示意图;
[0023]图6为本公开另一实施例提供的UI操作监控装置的结构示意图;
[0024]图7为本公开一实施例提供的终端设备的结构示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]图1为现有技术中UI操作的处理方式导致的界面变化示意图。如图1所示,在某个APP的用户界面101上,包括多个图标及按钮12,假设用户点击了图标4,触发了子线程进行UI操作,即,触发了子线程对当前用户界面101进行刷新操作。由于UI操作只能在主线程中进行,子线程并不能进行UI操作。因此,子线程进行UI操作会导致该APP黑屏或者崩溃。在用户侧,体现为用户点击了图标11后,可能出现黑屏的用户界面102或者程序崩溃后的用户界面103,用户体验较差。
[0032]本公开提供一种UI操作监控方法,通过确定当前UI操作是否运行在UI操作的合法线程中,当确定当前UI操作不是运行在合法线程中时,将当前UI操作的信息传输至合法线程,在合法线程中处理当前UI操作的信息,该方法实现了在当前UI操作不是运行在合法线程中的情况中,即当前UI操作为非法线程发起的UI操作时,将该UI操作的信息传输至合法线程中进行处理。该UI操作监控方法可以在APP运行过程中实时进行UI操作监控,并对当前UI操作及时进行处理,避免了非法线程进行UI操作而导致的APP黑屏或者崩溃的问题,从而,提高了用户体验。
[0033]图2为本公开一实施例提供的UI操作监控方法的流程示意图。本实施例以该方法应用于终端设备进行举例说明。可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端设备和服务器的系统,并通过终端设备和服务器的交互实现。本实施例适用于对APP运行过程中的UI操作进行监控的场景。本实施例可以由UI操作监控装置来执行,该UI操作监控装置可以由软本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户界面UI操作监控方法,其特征在于,包括:确定当前UI操作是否运行在UI操作的合法线程中;当确定所述当前UI操作不是运行在所述合法线程中时,将所述当前UI操作的信息传输至所述合法线程;在所述合法线程中处理所述当前UI操作的信息。2.根据权利要求1所述的方法,其特征在于,所述确定当前UI操作是否运行在UI操作的合法线程中,包括:获取当前UI操作对应的目标线程的标识;根据所述目标线程的标识确定所述目标线程是否是UI操作的合法线程;当确定所述目标线程不是UI操作的合法线程时,确定所述当前UI操作不是运行在所述合法线程中。3.根据权利要求1所述的方法,其特征在于,所述确定当前UI操作是否运行在UI操作的合法线程中,包括:通过设置于视图顶部方法与业务视图方法之间的拦截代码,确定当前UI操作是否运行在UI操作的合法线程中。4.根据权利要求3所述的方法,其特征在于,所述通过设置于视图顶部方法与业务视图方法之间的拦截代码,确定当前UI操作是否运行在UI操作的合法线程中之前,所述方法还包括:在所述视图顶部方法与业务视图方法之间设置所述拦截代码。5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:当通过所述拦截代码,确定当前UI操作运行在所述合法线程中时,控制所述...

【专利技术属性】
技术研发人员:王晓东
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1