CN109683994B - 确定视图构建时间的方法、装置、存储介质及电子设备 - Google Patents

确定视图构建时间的方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN109683994B
CN109683994B CN201811519084.4A CN201811519084A CN109683994B CN 109683994 B CN109683994 B CN 109683994B CN 201811519084 A CN201811519084 A CN 201811519084A CN 109683994 B CN109683994 B CN 109683994B
Authority
CN
China
Prior art keywords
page
layout
reflection mechanism
resolver
new
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.)
Active
Application number
CN201811519084.4A
Other languages
English (en)
Other versions
CN109683994A (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811519084.4A priority Critical patent/CN109683994B/zh
Publication of CN109683994A publication Critical patent/CN109683994A/zh
Application granted granted Critical
Publication of CN109683994B publication Critical patent/CN109683994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例公开了一种确定视图构建时间的方法、装置、存储介质及电子设备,方法包括:在页面初始化时,获取页面的系统布局解析器对象;根据系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;通过反射机制执行新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。本公开实施例自定义了一个新的布局解析器对象,通过新的布局解析器对象确定页面的视图构建时间,实现了对页面的视图构建时间的监测,进而可以确定页面加载速度,提升了系统性能。

Description

确定视图构建时间的方法、装置、存储介质及电子设备
技术领域
本公开涉及互联网领域,特别涉及一种确定视图构建时间的方法、装置、存储介质及电子设备。
背景技术
Android系统进入页面后,系统要解析布局文件,根据布局文件内容创建视图树,上述所需时间即为页面的View(视图)构建时间。
View构建时间对页面加载速度至关重要,然而,目前无法监测到Android页面的View构建时间。
发明内容
有鉴于此,本公开实施例提出了一种确定视图构建时间的方法、装置、存储介质及电子设备,用以解决现有技术的如下问题:View构建时间对页面加载速度至关重要,然而,目前无法监测到Android页面的View构建时间。
一方面,本公开实施例提出了一种确定视图构建时间的方法,包括:在页面初始化时,获取所述页面的系统布局解析器对象;根据所述系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;通过反射机制执行所述新的布局解析器对象解析所述页面的布局文件,以确定所述页面的视图构建时间。
在一些实施例中,获取页面的系统布局解析器对象,包括:获取所述页面对应的窗口对象;通过所述反射机制从所述窗口对象中获取所述系统布局解析器对象。
在一些实施例中,通过反射机制执行所述新的布局解析器对象解析所述页面的布局文件,包括:通过反射机制将系统中布局解析器的调用地址由所述系统布局解析器对象的地址修改为所述新的布局解析器对象的地址;调用所述新的布局解析器对象解析所述页面的布局文件。
在一些实施例中,所述反射机制为Java反射机制。
另一方面,本公开实施例提出了一种确定视图构建时间的装置,包括:获取模块,用于在页面初始化时,获取所述页面的系统布局解析器对象;构建模块,用于根据所述系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;解析模块,用于通过反射机制执行所述新的布局解析器对象解析所述页面的布局文件,以确定所述页面的视图构建时间。
在一些实施例中,所述获取模块,具体用于:获取所述页面对应的窗口对象;通过所述反射机制从所述窗口对象中获取所述系统布局解析器对象。
在一些实施例中,所述解析模块,具体用于:通过反射机制将系统中布局解析器的调用地址由所述系统布局解析器对象的地址修改为所述新的布局解析器对象的地址;调用所述新的布局解析器对象解析所述页面的布局文件。
在一些实施例中,所述反射机制为Java反射机制。
另一方面,本公开实施例提出了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现本公开任意实施例提供的方法。
另一方面,本公开实施例提出了一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现本公开任意实施例提供的方法。
本公开实施例自定义了一个新的布局解析器对象,通过新的布局解析器对象确定页面的视图构建时间,实现了对页面的视图构建时间的监测,进而可以确定页面加载速度,提升了系统性能。
附图说明
图1为本公开第一实施例提供的确定视图构建时间的方法的流程图;
图2为本公开第二实施例提供的确定视图构建时间的装置的结构示意图;
图3为本公开第四实施例提供的电子设备的结构示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
本公开第一实施例提供了一种确定视图构建时间的方法,该方法的流程如图1所示,包括步骤S101至S103:
S101,在页面初始化时,获取页面的系统布局解析器对象。
具体实现过程中,获取页面对应的窗口对象,并通过反射机制从窗口对象中获取系统布局解析器对象。
S102,根据系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象。
在每个页面启动时,系统会先创建窗口,随后系统会创建系统布局解析器对象;此时,该节点也会触发根据预设时间测算代码和系统布局解析器对象的代码构建新的布局解析器对象。本实施例为了让布局解析器对象能够实现确定视图构建时间的功能,所以在新的布局解析器对象的代码中增加了预设时间测算代码;同时,为了让新的布局解析器对象能够实现原有的系统布局解析器对象的功能,还将系统布局解析器对象的代码也写入到新的布局解析器对象中。
至此,新的布局解析器对象构建完成,其具有系统布局解析器对象能够实现的功能,也能够对视图构建时间进行监测。
S103,通过反射机制执行新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。
在执行时,本发明实施例通过反射机制来将调用地址中本来的系统布局解析器对象的地址修改为新的布局解析器对象的地址,进而系统在调用布局解析器对象时,调用新的布局解析器对象解析配置文件(即布局文件),并将解析后的数据渲染到屏幕上。
在安卓系统中,原生语言通常是Java语言,因此,上述的反射机制即为Java反射机制。
本公开实施例通过系统布局解析器对象对应的代码和预设时间测算代码构建了一个新的布局解析器对象,并使用该新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。
本公开实施例自定义了一个新的布局解析器对象,通过新的布局解析器对象确定页面的视图构建时间,实现了对页面的视图构建时间的监测,进而可以确定页面加载速度,提升了系统性能。
本公开第二实施例提供了一种确定视图构建时间的装置,该装置的结构示意如图2所示,包括:
获取模块10,用于在页面初始化时,获取页面的系统布局解析器对象;构建模块20,与获取模块10耦合,用于根据系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;解析模块30,与构建模块20耦合,用于通过反射机制执行新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。
其中,获取模块具体用于:获取页面对应的窗口对象;通过反射机制从窗口对象中获取系统布局解析器对象。
在页面初始化时,系统会先创建窗口,随后系统会创建系统布局解析器对象;此时,该节点也会触发根据预设时间测算代码和系统布局解析器对象的代码构建新的布局解析器对象。本实施例为了让布局解析器对象能够实现确定视图构建时间的功能,所以在新的布局解析器对象的代码中增加了预设时间测算代码;同时,为了让新的布局解析器对象能够实现原有的系统布局解析器对象的功能,还将系统布局解析器对象的代码也写入到新的布局解析器对象中。新的布局解析器对象具有系统布局解析器对象能够实现的功能,也能够对视图构建时间进行监测。
为了简化实现过程,上述解析模块,具体用于通过反射机制将系统中布局解析器的调用地址由系统布局解析器对象的地址修改为新的布局解析器对象的地址;调用新的布局解析器对象解析页面的布局文件。
在安卓系统中,原生语言通常是Java语言,因此,上述反射机制可以为Java反射机制。
本公开实施例自定义了一个新的布局解析器对象,通过新的布局解析器对象确定页面的视图构建时间,实现了对页面的视图构建时间的监测,进而可以确定页面加载速度,提升了系统性能。
本公开第三实施例提供了一种存储介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,如下步骤S1至S3:
S1,在页面初始化时,获取页面的系统布局解析器对象。
S2,根据系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象。
本实施例为了让布局解析器对象能够实现确定视图构建时间的功能,所以在新的布局解析器对象的代码中增加了预设时间测算代码;同时,为了让新的布局解析器对象能够实现原有的系统布局解析器对象的功能,还将系统布局解析器对象的代码也写入到新的布局解析器对象中。
至此,新的布局解析器对象构建完成,其具有系统布局解析器对象能够实现的功能,也能够对视图构建时间进行监测。
S3,通过反射机制执行新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。
其中,上述反射机制为Java反射机制。
计算机程序被处理器执行获取页面的系统布局解析器对象的步骤时,具体被处理器执行如下步骤:获取页面对应的窗口对象;通过反射机制从窗口对象中获取系统布局解析器对象。
计算机程序被处理器执行通过反射机制执行新的布局解析器对象解析页面的布局文件的步骤时,被处理器执行如下步骤:通过反射机制将系统中布局解析器的调用地址由系统布局解析器对象的地址修改为新的布局解析器对象的地址;调用新的布局解析器对象解析页面的布局文件。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
本公开第四实施例提供了一种电子设备,如图3所示,该电子设备至少包括存储器901和处理器902,存储器901上存储有计算机程序,处理器902在执行存储器901上的计算机程序时实现本公开任意实施例提供的方法,示例性的,计算机程序步骤如下S11至S13:
S11,在页面初始化时,获取页面的系统布局解析器对象。
S12,根据系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象。
本实施例为了让布局解析器对象能够实现确定视图构建时间的功能,所以在新的布局解析器对象的代码中增加了预设时间测算代码;同时,为了让新的布局解析器对象能够实现原有的系统布局解析器对象的功能,还将系统布局解析器对象的代码也写入到新的布局解析器对象中。
至此,新的布局解析器对象构建完成,其具有系统布局解析器对象能够实现的功能,也能够对视图构建时间进行监测。
S13,通过反射机制执行新的布局解析器对象解析页面的布局文件,以确定页面的视图构建时间。
其中,上述反射机制为Java反射机制。
处理器902在执行存储器901上存储的获取页面的系统布局解析器对象,的计算算计程序时,具体执行如下计算机程序:获取页面对应的窗口对象;通过反射机制从窗口对象中获取系统布局解析器对象。
处理器902在执行存储器901上存储的通过反射机制执行新的布局解析器对象解析页面的布局文件的计算算计程序时,具体执行如下计算机程序:通过反射机制将系统中布局解析器的调用地址由系统布局解析器对象的地址修改为新的布局解析器对象的地址;调用新的布局解析器对象解析页面的布局文件。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本公开的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本公开。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本公开的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本公开的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。

Claims (8)

1.一种确定视图构建时间的方法,其特征在于,包括:
在页面初始化时,获取所述页面的系统布局解析器对象;
根据所述系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;
通过反射机制执行所述新的布局解析器对象解析所述页面的布局文件,以确定所述页面的视图构建时间,其中,包括通过反射机制将系统中布局解析器的调用地址由所述系统布局解析器对象的地址修改为所述新的布局解析器对象的地址;调用所述新的布局解析器对象解析所述页面的布局文件。
2.如权利要求1所述的方法,其特征在于,获取所述页面的系统布局解析器对象,包括:
获取所述页面对应的窗口对象;
通过所述反射机制从所述窗口对象中获取所述系统布局解析器对象。
3.如权利要求1或2所述的方法,其特征在于,所述反射机制为Java反射机制。
4.一种确定视图构建时间的装置,其特征在于,包括:
获取模块,用于在页面初始化时,获取所述页面的系统布局解析器对象;
构建模块,用于根据所述系统布局解析器对象对应的代码和预设时间测算代码构建新的布局解析器对象;
解析模块,用于通过反射机制执行所述新的布局解析器对象解析所述页面的布局文件,以确定所述页面的视图构建时间,其中,包括通过反射机制将系统中布局解析器的调用地址由所述系统布局解析器对象的地址修改为所述新的布局解析器对象的地址;调用所述新的布局解析器对象解析所述页面的布局文件。
5.如权利要求4所述的装置,其特征在于,
所述获取模块,具体用于:获取所述页面对应的窗口对象;通过所述反射机制从所述窗口对象中获取所述系统布局解析器对象。
6.如权利要求4或5所述的装置,其特征在于,所述反射机制为Java反射机制。
7.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述方法的步骤。
8.一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至3中任一项所述方法的步骤。
CN201811519084.4A 2018-12-12 2018-12-12 确定视图构建时间的方法、装置、存储介质及电子设备 Active CN109683994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811519084.4A CN109683994B (zh) 2018-12-12 2018-12-12 确定视图构建时间的方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811519084.4A CN109683994B (zh) 2018-12-12 2018-12-12 确定视图构建时间的方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN109683994A CN109683994A (zh) 2019-04-26
CN109683994B true CN109683994B (zh) 2022-03-18

Family

ID=66186692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811519084.4A Active CN109683994B (zh) 2018-12-12 2018-12-12 确定视图构建时间的方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN109683994B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506592A (zh) * 2019-09-16 2021-03-16 北京京东尚科信息技术有限公司 页面加载时长的确定方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061458A2 (en) * 1999-06-15 2000-12-20 Sun Microsystems, Inc. Caching of reduced forms of web pages on a small footprint device
CN103645978A (zh) * 2013-12-16 2014-03-19 百度在线网络技术(北京)有限公司 浏览器网页加载时间的测试方法、装置和系统
CN104424092A (zh) * 2013-08-22 2015-03-18 腾讯科技(深圳)有限公司 页面加载时长测试方法及装置
CN105630566A (zh) * 2016-02-26 2016-06-01 北京奇虎科技有限公司 应用页面加载时长的确定方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061458A2 (en) * 1999-06-15 2000-12-20 Sun Microsystems, Inc. Caching of reduced forms of web pages on a small footprint device
CN104424092A (zh) * 2013-08-22 2015-03-18 腾讯科技(深圳)有限公司 页面加载时长测试方法及装置
CN103645978A (zh) * 2013-12-16 2014-03-19 百度在线网络技术(北京)有限公司 浏览器网页加载时间的测试方法、装置和系统
CN105630566A (zh) * 2016-02-26 2016-06-01 北京奇虎科技有限公司 应用页面加载时长的确定方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于HTML5的移动终端布局解析器的设计与实现;陈天伟等;《实验科学与技术》;20180828;全文 *
实例:计算页面加载时间;weixin_34319374;《https://blog.csdn.net/weixin_34319374/article/details/91887794》;20120822;全文 *

Also Published As

Publication number Publication date
CN109683994A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
US9785452B2 (en) Framework for dependency management and automatic file load in a network environment
CN108156022A (zh) 一种服务调用方法、装置及电子设备
US8954928B2 (en) Version labeling in a version control system
CN107045475B (zh) 测试方法和装置
US11550990B2 (en) Machine first approach for identifying accessibility, non-compliances, remediation techniques and fixing at run-time
CN104168250A (zh) 基于cgi框架的业务流程控制方法及装置
CN111475161A (zh) 一种访问组件的方法、装置及设备
CN112306471A (zh) 一种任务的调度方法和装置
CN105516333B (zh) 一种基于网页的交互方法和系统
CN108023905B (zh) 物联网应用系统及方法
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN103544271B (zh) 一种浏览器中加载图片处理窗口的方法和装置
CN108494728A (zh) 防止流量劫持的黑名单库创建方法、装置、设备及介质
CN109683994B (zh) 确定视图构建时间的方法、装置、存储介质及电子设备
CN108829391B (zh) 一种Fragment中控件识别方法及系统
CN110609666B (zh) 打印机配置方法、装置、电子设备及可读存储介质
CN106681852B (zh) 一种浏览器兼容性的调整方法及装置
CN111125605B (zh) 页面元素获取方法和装置
CN107291619A (zh) 内存占用分析方法及装置
CN106484741B (zh) 一种单页应用访问数据收集和发送的方法及装置
US11544179B2 (en) Source traceability-based impact analysis
CN109857818B (zh) 确定生产关系的方法、装置、存储介质及电子设备
CN109583198B (zh) 监测页面的方法、装置、存储介质及电子设备
CN110209959B (zh) 信息处理方法和装置
CN112417324A (zh) 基于Chrome的URL拦截方法、装置及计算机设备

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.