CN115509781A - 安卓系统中页面渲染控件异常的处理方法和装置 - Google Patents

安卓系统中页面渲染控件异常的处理方法和装置 Download PDF

Info

Publication number
CN115509781A
CN115509781A CN202211137324.0A CN202211137324A CN115509781A CN 115509781 A CN115509781 A CN 115509781A CN 202211137324 A CN202211137324 A CN 202211137324A CN 115509781 A CN115509781 A CN 115509781A
Authority
CN
China
Prior art keywords
page rendering
control
rendering control
security
page
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.)
Pending
Application number
CN202211137324.0A
Other languages
English (en)
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.)
Hunan MgtvCom Interactive Entertainment Media Co Ltd
Original Assignee
Hunan MgtvCom Interactive Entertainment Media 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 Hunan MgtvCom Interactive Entertainment Media Co Ltd filed Critical Hunan MgtvCom Interactive Entertainment Media Co Ltd
Priority to CN202211137324.0A priority Critical patent/CN115509781A/zh
Publication of CN115509781A publication Critical patent/CN115509781A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种安卓系统中页面渲染控件异常的处理方法和装置,应用于安卓系统中任一应用程序,方法包括:捕捉到应用崩溃消息时,确定崩溃类型为安全页面渲染控件异常;在存活的全部安全页面渲染控件中检测出活跃状态的安全页面渲染控件;采集活跃状态的安全页面渲染控件的控件信息(包括安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符);向数据收集平台上报由控件信息组成的异常数据;数据收集平台用于根据异常数据确定引发异常的安全页面渲染控件。本方案在安全页面渲染控件异常时及时收集相关的控件信息并上报,有助于通过分析控件信息而定位出实际引发异常的安全页面渲染控件。

Description

安卓系统中页面渲染控件异常的处理方法和装置
技术领域
本发明涉及安卓异常处理技术领域,特别涉及一种安卓系统中页面渲染控件异常的处理方法和装置。
背景技术
页面渲染控件(WebView)是目前安卓系统中常用的一种渲染Web页面的控件。安卓系统的终端设备(如安卓手机)的应用启动后,应用调用WebView构造方法来建立多个页面渲染控件(即WebView实例),每个页面渲染控件都会加载特定的统一资源定位符(uniformresource locator,URL),然后基于URL指向的资源在终端设备的屏幕上渲染出对应的图像,多个页面渲染控件渲染的图像共同组成应用要显示的一个Web页面。
目前,由于安卓系统中全部的页面渲染控件共用一个渲染进程,当其中任意一个页面渲染控件发生异常都会连带导致其他页面渲染控件异常,进而导致整个应用终止运行,并且难以定位异常实际是由哪个页面渲染控件引发的。
发明内容
针对上述现有技术的缺点,本发明提供一种安卓系统中页面渲染控件异常的处理方法和装置,通过收集安全页面渲染控件的控件信息达到辅助定位实际引发异常的控件的效果。
本申请第一方面提供一种安卓系统中页面渲染控件异常的处理方法,应用于安卓系统中任一应用程序,所述方法包括:
捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常;
在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件;
采集每一个处于活跃状态的所述安全页面渲染控件的控件信息;其中,所述安全页面渲染控件的控件信息包括所述安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL);
向数据收集平台上报异常数据;其中,所述异常数据包括每一个处于活跃状态的所述安全页面渲染控件的控件信息;所述数据收集平台用于根据所述异常数据确定引发异常的安全页面渲染控件。
可选的,所述捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常之前,还包括:
在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
可选的,所述捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常,包括:
捕捉到应用崩溃消息时,判断所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间是否匹配;
若所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间匹配,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
可选的,所述在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,包括:
读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
针对读取出的每一个所述安全页面渲染控件,判断所述安全页面渲染控件是否处于活跃状态。
可选的,所述判断所述安全页面渲染控件是否处于活跃状态,包括:
判断所述安全页面渲染控件渲染的内容是否属于最顶层页面;
若所述安全页面渲染控件渲染的内容属于最顶层页面,判断出所述安全页面渲染控件处于活跃状态;
若所述安全页面渲染控件渲染的内容不属于最顶层页面,判断出所述安全页面渲染控件不处于活跃状态。
可选的,所述数据收集平台根据所述异常数据确定引发异常的安全页面渲染控件的过程,包括:
所述数据收集平台比对来自不同终端设备的多份所述异常数据,从而识别得到多份异常数据中重复出现次数最多的URL;
所述数据收集平台确定所述重复出现次数最多的URL为异常URL,并确定加载所述异常URL的安全页面渲染控件为引发异常的安全页面渲染控件。
本申请第二方面提供一种安卓系统中页面渲染控件异常的处理装置,应用于安卓系统中任一应用程序,所述装置包括:
捕捉单元,用于捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常;
检测单元,用于在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件;
采集单元,用于采集每一个处于活跃状态的所述安全页面渲染控件的控件信息;其中,所述安全页面渲染控件的控件信息包括所述安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL);
上报单元,用于向数据收集平台上报异常数据;其中,所述异常数据包括每一个处于活跃状态的所述安全页面渲染控件的控件信息;所述数据收集平台用于根据所述异常数据确定引发异常的安全页面渲染控件。
可选的,所述装置还包括:
渲染单元,用于在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
可选的,所述捕捉单元捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常时,具体用于:
捕捉到应用崩溃消息时,判断所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间是否匹配;
若所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间匹配,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
可选的,所述检测单元在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,包括:
读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
针对读取出的每一个所述安全页面渲染控件,判断所述安全页面渲染控件是否处于活跃状态。
本申请提供一种安卓系统中页面渲染控件异常的处理方法和装置,应用于安卓系统中任一应用程序,方法包括:捕捉到应用崩溃消息时,确定崩溃类型为安全页面渲染控件异常;在存活的全部安全页面渲染控件中检测出活跃状态的安全页面渲染控件;采集活跃状态的安全页面渲染控件的控件信息(包括安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符);向数据收集平台上报由控件信息组成的异常数据;数据收集平台用于根据异常数据确定引发异常的安全页面渲染控件。本方案在安全页面渲染控件异常时及时收集相关的控件信息并上报,有助于通过分析控件信息而定位出实际引发异常的安全页面渲染控件。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种安卓系统中页面渲染控件异常的处理方法的流程图;
图2为本申请实施例提供的一种应用程序的工作原理示意图;
图3为本申请实施例提供的一种应用程序的界面示意图;
图4为本申请实施例提供的一种安卓系统中页面渲染控件异常的处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
WebView,又称页面渲染类,属于安卓系统框架中的一种用于进行画面渲染的类,该类被实例化之后可以产生多个WebViewClient(页面渲染控件),在实例化阶段每一个页面渲染控件都会被配置一个或多个URL,由此页面渲染控件可以加载配置的URL所指向的图像资源,然后基于加载的图像资源在终端设备(如智能手机)的屏幕上渲染对应画面。
本申请第一方面提供一种安卓系统中页面渲染控件异常的处理方法,应用于安卓系统中任一应用程序,方法包括:
本实施例所提供的方法中的各个步骤,具体可以由安卓系统中的应用程序来执行。
首先,为了实现本申请实施例提供的方法,需要执行如下准备工作。
采用字节码插桩技术,将安卓框架中原生的页面渲染类(WebView),重写为安全页面渲染类(SafeWebView),与安卓原生的WebView类相比,重写后的安全页面渲染类中的进程推荐方法(onRenderProcessGone)在收到任一渲染控件的渲染异常消息时会返回布尔真值(即返回true),而原生的WebView类的onRenderProcessGone方法会返回布尔假值(即返回false),而返回false将会导致渲染控件所属的应用程序整体崩溃,应用程序直接退出。
应用程序运行时,会调用安全页面渲染类中的构造函数创建一个或多个安全页面渲染实例(SafeWebViewClient),每一个安全页面渲染实例,就相当于本实施例所述的一个安全页面渲染控件。其中,创建安全页面渲染控件的过程,可以称为安全页面渲染的实例化。
S101,捕捉到应用崩溃消息时,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
基于安卓系统的技术框架,多个安全页面渲染控件共用一个进程推进方法,并且任意一个安全页面渲染控件发生异常时,都会向进程推进方法发送一条渲染异常消息,进程推进方法则会响应该渲染异常消息,抛出应用崩溃消息。
可以理解的,安全页面渲染控件向进程推进方法发送渲染异常消息,必然会调用进程推进方法,由此,步骤S101的具体实现方式可以是:
捕捉到应用崩溃消息时,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常,包括:
捕捉到应用崩溃消息时,判断进程推进方法最近一次被调用的时间和捕捉到应用崩溃消息的时间是否匹配;
若进程推进方法最近一次被调用的时间和捕捉到应用崩溃消息的时间匹配,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
具体来说,若将进程推进方法最近一次被调用的时间记为第一时间(T1),将捕捉到应用崩溃消息的时间记为第二时间(T2),那么可以在T1到T2之间的时长小于预设的匹配阈值时,认为T1和T2匹配,在T1和T2之间的时长不小于匹配阈值时,认为T1和T2不匹配。
若T1和T2匹配,则可以认为当前捕捉到的应用崩溃消息是由进程推进方法抛出的,结合前述进程推进方法的工作原理,就可以认为产生该应用崩溃消息的原因是安全页面渲染控件异常,相当于确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
其中,进程推进方法最近一次的被调用时间,可以通过查询应用程序的运行日志或者其他相关信息获得。
在一些可选的实施例中,重写后的进程推进方法在抛出应用崩溃消息之前,也即在步骤S101被执行之前,可以执行如下步骤:
在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
上述错误提示页面是预先配置在重写后的进程推进方法中的一个页面,错误提示页面中包括错误提示信息,错误提示信息用于告知用户当前应用程序出现异常。
结合前文进程推进方法的工作原理,可以理解,由于本实施例中进程推进方法在发现渲染异常后,返回true而不是返回false,因此即使发生渲染异常,应用程序还能够继续运行,用户还可以使用应用程序中未被渲染异常影响的功能,从而改善了用户的使用体验。
S102,在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件。
具体的,步骤S102,即在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,可以包括如下两个步骤:
A1,读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
A2,针对读取出的每一个安全页面渲染控件,判断安全页面渲染控件是否处于活跃状态。
地图组件(又称Map),在本实施例中可以视为一个用于记录系统中所有存活的安全页面渲染控件的组件,本实施例中该Map可以基于弱引用关系构建。在前述重写安全页面渲染类的阶段,可以将安全页面渲染类的构造函数配置为,每通过实例化产生一个安全页面渲染控件,就同时将安全页面渲染控件添加(或者说记录)在地图组件中。
另一方面,每当有一个安全页面渲染控件被销毁(删除)时,该安全页面渲染控件会从Map中移除。
由此,在任意时刻Map中记录的安全页面渲染控件,就是当前系统中存活的全部安全页面渲染控件。
进一步的,步骤A2中,具体判断一个安全页面渲染控件是否处于活跃状态的方法可以是:
判断安全页面渲染控件渲染的内容是否属于最顶层页面;
若安全页面渲染控件渲染的内容属于最顶层页面,判断出安全页面渲染控件处于活跃状态;
若安全页面渲染控件渲染的内容不属于最顶层页面,判断出安全页面渲染控件不处于活跃状态。
最顶层页面,可以理解为当前在终端设备的屏幕上显示的页面。也就是说,如果一个安全页面渲染控件所要渲染的内容是当前要显示在终端设备屏幕的内容,则认为该安全页面渲染控件处于活跃专题。
S103,采集每一个处于活跃状态的安全页面渲染控件的控件信息。
其中,安全页面渲染控件的控件信息包括安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL)。
安全页面渲染控件的全路径名,是指由该安全页面渲染控件自身的控件名,以及直接或间接创建这个安全页面渲染控件的其他实例的名称构成的名称。
示例性的,假设应用程序启动后,首先由系统System启动应用程序App,然后App通过实例化创建了实例B,实例B创建了实例C,实例C创建了一个安全页面渲染控件SafeWebView1。那么这个安全页面渲染控件的全路径名称就是System.App.B.C.SafeWebView1。
实例化时间,也就是该安全页面渲染控件被创建(被实例化)的时间,具体可以用一个时间戳表示。
加载的URL,是指该安全页面渲染控件用于加载渲染所需图像资源的URL,如前所述,该URL可以在安全页面渲染控件被创建时配置给这个安全页面渲染控件,当然,也可以在安全页面渲染控件被创建之后,由安全页面渲染控件自行加载。
S104,向数据收集平台上报异常数据。
其中,异常数据包括每一个处于活跃状态的安全页面渲染控件的控件信息;数据收集平台用于根据异常数据确定引发异常的安全页面渲染控件。
示例性的,一部智能手机上运行的直播应用检测到应用崩溃消息时,执行本实施例所述的方法,从而采集到当前处于活跃状态的4个安全页面渲染控件的控件信息,然后将这4个安全页面渲染控件的控件信息,以及本次应用崩溃相关的其他消息,例如捕捉到的应用崩溃消息等,打包形成本次应用崩溃对应的异常数据,然后将该异常数据上传给直播应用对应的数据收集平台。
数据收集平台可以每隔一段时间(例如每隔一周,每隔一月),就汇总一次这段时间内收到的多个终端设备(如属于不同用户的多部智能手机)的直播应用上传的异常数据,从而根据这些异常数据确定直播应用运行时所用的多个安全页面渲染控件中,哪一个是引发渲染异常,进而触发应用崩溃的安全页面渲染控件。
具体的,数据收集平台根据异常数据确定引发异常的安全页面渲染控件的过程,包括:
数据收集平台比对来自不同终端设备的多份异常数据,从而识别得到多份异常数据中重复出现次数最多的URL;
数据收集平台确定重复出现次数最多的URL为异常URL,并确定加载异常URL的安全页面渲染控件为引发异常的安全页面渲染控件。
在上述过程中,数据收集平台可以先比对多份异常数据,确定出导致同一种应用崩溃的多份异常数据,然后将这些异常数据中重复出现次数最多的URL为异常URL,并确定加载异常URL的安全页面渲染控件为引发异常的安全页面渲染控件。
为了便于理解本申请实施例的方法,下面结合图2所示的应用程序框架对本实施例的执行过程进行说明。
如图2所示,本实施例中,应用程序运行时,具体包括多个安全页面渲染控件,例如图2中的安全页面渲染控件1至3,多个安全页面渲染控件均和进程推进方法通信。
当安全页面渲染控件正常运行时,安全页面渲染控件基于预配置的或者加载的URL加载渲染所需的图像资源,然后基于图像资源调用系统的渲染进程,从而在屏幕上渲染对应的图像。
当任一安全页面渲染控件发生渲染异常时,向进程推进方法发送渲染异常消息,然后进程推进方法响应该渲染异常消息,抛出应用崩溃消息。
应用崩溃消息抛出后,被应用程序中的异常处理接口捕捉,同时,应用程序中基于异常处理接口实现了异常处理类,且异常处理类继承了异常处理接口,由此,异常处理类通过异常处理接口获得了进程推进方法抛出的应用崩溃消息。本段所述的过程相当于图1所示实施例的步骤S101。
随后,异常处理类响应于捕捉到的应用崩溃消息,执行图1所示实施例的步骤S102至S104,从而完成异常数据的上报。
另一方面,继续参见图2,进程推进方法在抛出应用崩溃消息的同时(或者之前),还可以向安全页面渲染控件返回布尔真值(true),同时,利用本方法中预先配置的错误提示页面调用渲染进程,从而在屏幕上显示错误提示页面。
请参见图3,当安全页面渲染控件没有异常时,终端设备运行直播应用,并显示如图3的界面(1)所示的界面,可以看到,此时直播应用在屏幕上方播放点播视频流,同时在下方通过上述安全页面渲染控件渲染视频信息展示画面。
当安全页面渲染控件发生异常时,如图3的界面(2)所示,由于进程推进方法返回true,因此点播视频流不受影响,继续在屏幕上方的窗口正常播放,而下方原本由安全页面渲染控件渲染的视频信息展示画面消失,被进程推进方法渲染的错误提示页面取代。
请参见图4,为本申请实施例提供的一种安卓系统中页面渲染控件异常的处理装置的结构示意图,该装置可以视为基于安卓系统的任一应用程序,该装置所包括的各个单元,可以视为应用程序中的方法,类等软件模块,该装置可以包括如下单元。
捕捉单元401,用于捕捉到应用崩溃消息时,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
检测单元402,用于在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件。
采集单元403,用于采集每一个处于活跃状态的安全页面渲染控件的控件信息。
其中,安全页面渲染控件的控件信息包括安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL)。
上报单元404,用于向数据收集平台上报异常数据。
其中,异常数据包括每一个处于活跃状态的安全页面渲染控件的控件信息;数据收集平台用于根据异常数据确定引发异常的安全页面渲染控件。
可选的,该装置还包括:
渲染单元405,用于在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
可选的,捕捉单元401捕捉到应用崩溃消息时,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常时,具体用于:
捕捉到应用崩溃消息时,判断进程推进方法最近一次被调用的时间和捕捉到应用崩溃消息的时间是否匹配;
若进程推进方法最近一次被调用的时间和捕捉到应用崩溃消息的时间匹配,确定应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
可选的,检测单元402在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,包括:
读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
针对读取出的每一个安全页面渲染控件,判断安全页面渲染控件是否处于活跃状态。
可选的,检测单元402判断安全页面渲染控件是否处于活跃状态时,具体用于:
判断安全页面渲染控件渲染的内容是否属于最顶层页面;
若安全页面渲染控件渲染的内容属于最顶层页面,判断出安全页面渲染控件处于活跃状态;
若安全页面渲染控件渲染的内容不属于最顶层页面,判断出安全页面渲染控件不处于活跃状态。
可选的,数据收集平台根据异常数据确定引发异常的安全页面渲染控件的过程,包括:
数据收集平台比对来自不同终端设备的多份异常数据,从而识别得到多份异常数据中重复出现次数最多的URL;
数据收集平台确定重复出现次数最多的URL为异常URL,并确定加载异常URL的安全页面渲染控件为引发异常的安全页面渲染控件。
本实施例所提供的安卓系统中页面渲染控件异常的处理装置,其具体工作原理可以参见本申请任一实施例所提供的安卓系统中页面渲染控件异常的处理方法中的相关步骤,此处不再赘述。
本申请提供一种安卓系统中页面渲染控件异常的处理方法装置,应用于安卓系统中任一应用程序,装置包括,捕捉单元401捕捉到应用崩溃消息时,确定崩溃类型为安全页面渲染控件异常;检测单元402在存活的全部安全页面渲染控件中检测出活跃状态的安全页面渲染控件;采集单元403采集活跃状态的安全页面渲染控件的控件信息(包括安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符);上报单元404向数据收集平台上报由控件信息组成的异常数据;数据收集平台用于根据异常数据确定引发异常的安全页面渲染控件。本方案在安全页面渲染控件异常时及时收集相关的控件信息并上报,有助于通过分析控件信息而定位出实际引发异常的安全页面渲染控件。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种安卓系统中页面渲染控件异常的处理方法,其特征在于,应用于安卓系统中任一应用程序,所述方法包括:
捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常;
在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件;
采集每一个处于活跃状态的所述安全页面渲染控件的控件信息;其中,所述安全页面渲染控件的控件信息包括所述安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL);
向数据收集平台上报异常数据;其中,所述异常数据包括每一个处于活跃状态的所述安全页面渲染控件的控件信息;所述数据收集平台用于根据所述异常数据确定引发异常的安全页面渲染控件。
2.根据权利要求1所述的方法,其特征在于,所述捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常之前,还包括:
在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
3.根据权利要求2所述的方法,其特征在于,所述捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常,包括:
捕捉到应用崩溃消息时,判断所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间是否匹配;
若所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间匹配,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
4.根据权利要求1所述的方法,其特征在于,所述在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,包括:
读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
针对读取出的每一个所述安全页面渲染控件,判断所述安全页面渲染控件是否处于活跃状态。
5.根据权利要求4所述的方法,其特征在于,所述判断所述安全页面渲染控件是否处于活跃状态,包括:
判断所述安全页面渲染控件渲染的内容是否属于最顶层页面;
若所述安全页面渲染控件渲染的内容属于最顶层页面,判断出所述安全页面渲染控件处于活跃状态;
若所述安全页面渲染控件渲染的内容不属于最顶层页面,判断出所述安全页面渲染控件不处于活跃状态。
6.根据权利要求1所述的方法,其特征在于,所述数据收集平台根据所述异常数据确定引发异常的安全页面渲染控件的过程,包括:
所述数据收集平台比对来自不同终端设备的多份所述异常数据,从而识别得到多份异常数据中重复出现次数最多的URL;
所述数据收集平台确定所述重复出现次数最多的URL为异常URL,并确定加载所述异常URL的安全页面渲染控件为引发异常的安全页面渲染控件。
7.一种安卓系统中页面渲染控件异常的处理装置,其特征在于,应用于安卓系统中任一应用程序,所述装置包括:
捕捉单元,用于捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常;
检测单元,用于在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件;
采集单元,用于采集每一个处于活跃状态的所述安全页面渲染控件的控件信息;其中,所述安全页面渲染控件的控件信息包括所述安全页面渲染控件的全路径名称,实例化时间和加载的统一资源定位符(uniform resource locator,URL);
上报单元,用于向数据收集平台上报异常数据;其中,所述异常数据包括每一个处于活跃状态的所述安全页面渲染控件的控件信息;所述数据收集平台用于根据所述异常数据确定引发异常的安全页面渲染控件。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
渲染单元,用于在任意安全页面渲染控件发生渲染异常时,输出应用崩溃消息,渲染预设的错误提示页面,并返回布尔真值。
9.根据权利要求7所述的装置,其特征在于,所述捕捉单元捕捉到应用崩溃消息时,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常时,具体用于:
捕捉到应用崩溃消息时,判断所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间是否匹配;
若所述进程推进方法最近一次被调用的时间和捕捉到所述应用崩溃消息的时间匹配,确定所述应用崩溃消息对应的崩溃类型为安全页面渲染控件异常。
10.根据权利要求7所述的装置,其特征在于,所述检测单元在当前存活的全部安全页面渲染控件中检测出处于活跃状态的安全页面渲染控件,包括:
读取出预先构建的地图组件中当前记录的每一个安全页面渲染控件;
针对读取出的每一个所述安全页面渲染控件,判断所述安全页面渲染控件是否处于活跃状态。
CN202211137324.0A 2022-09-19 2022-09-19 安卓系统中页面渲染控件异常的处理方法和装置 Pending CN115509781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211137324.0A CN115509781A (zh) 2022-09-19 2022-09-19 安卓系统中页面渲染控件异常的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211137324.0A CN115509781A (zh) 2022-09-19 2022-09-19 安卓系统中页面渲染控件异常的处理方法和装置

Publications (1)

Publication Number Publication Date
CN115509781A true CN115509781A (zh) 2022-12-23

Family

ID=84504406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211137324.0A Pending CN115509781A (zh) 2022-09-19 2022-09-19 安卓系统中页面渲染控件异常的处理方法和装置

Country Status (1)

Country Link
CN (1) CN115509781A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954978A (zh) * 2023-09-19 2023-10-27 中邮消费金融有限公司 一种页面崩溃修复方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954978A (zh) * 2023-09-19 2023-10-27 中邮消费金融有限公司 一种页面崩溃修复方法、装置、设备及存储介质
CN116954978B (zh) * 2023-09-19 2024-01-26 中邮消费金融有限公司 一种页面崩溃修复方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110309029B (zh) 异常数据的采集方法、装置、计算机设备和存储介质
CN107948744B (zh) 接口检测方法、接口检测设备及计算机可读存储介质
CN104579847B (zh) 通信消息的监测方法和设备
CN105354126A (zh) 监控页面脚本文件中异常的方法和装置
CN110806965A (zh) 自动测试方法、装置、设备和介质
CN106919377B (zh) 确定应用程序的展示界面是否是白屏的方法及装置
CN115509781A (zh) 安卓系统中页面渲染控件异常的处理方法和装置
CN112799925A (zh) 数据采集方法、装置、电子设备和可读存储介质
CN115543827A (zh) 一种埋点数据展示方法及装置
CN112148606A (zh) 埋点测试方法、装置、设备及计算机可读介质
CN109086157B (zh) 日志追踪方法、装置、电子设备及存储介质
CN105786679B (zh) 一种自动化测试监控系统及方法以及移动终端
CN106685744A (zh) 一种故障排除方法、装置及系统
CN113382268B (zh) 直播异常分析方法、装置、计算机设备和存储介质
CN111130888B (zh) 故障信息收集与提示方法、装置、存储介质和移动终端
CN110231921B (zh) 日志打印方法、装置、设备及计算机可读存储介质
CN111695445A (zh) 一种人脸识别的方法、装置、设备及计算机可读存储介质
CN116860552A (zh) 应用程序运行监测方法、装置、电子设备及存储介质
CN111782508A (zh) 自动测试方法、装置、电子设备和存储介质
CN113094225A (zh) 一种异常日志监控方法、装置及电子设备
CN112153324A (zh) 一种监控视频显示方法、装置及系统
CN111611470A (zh) 一种数据处理方法、装置和电子设备
CN112671615B (zh) 前端用户操作行为数据的收集方法、系统及存储介质
CN106155863A (zh) 终端预期行为控制方法及终端
CN113448836A (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