CN114546534B - 一种应用页面启动方法、装置、设备及介质 - Google Patents
一种应用页面启动方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114546534B CN114546534B CN202210187218.7A CN202210187218A CN114546534B CN 114546534 B CN114546534 B CN 114546534B CN 202210187218 A CN202210187218 A CN 202210187218A CN 114546534 B CN114546534 B CN 114546534B
- Authority
- CN
- China
- Prior art keywords
- component
- page
- components
- loading
- target 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006870 function Effects 0.000 claims description 53
- 230000001419 dependent effect Effects 0.000 claims description 41
- 238000009877 rendering Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种应用页面启动方法、装置、设备及介质。该方法包括:监听到目标页面的启动操作时,加载相对目标页面预设的必要组件,以第一页面状态呈现目标页面;基于系统的页面刷新信号,结合相对目标页面预设的组件依赖关系,增量式加载目标页面的功能组件,直至完成全部功能组件的加载。利用该方法,基于目标页面相关组件的重要性,优先加载必要组件,然后当收到页面刷新信号时再根据组件依赖关系增量式加载剩余其它组件。相比于现有技术中应用页面启动瞬间需要加载所有组件,本方法在页面启动时渐进式加载组件,可以节约占用资源且提高页面启动加载速度,具备更好的用户体验。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种应用页面启动方法、装置、设备及介质。
背景技术
随着移动互联网快速发展,人们对音视频的需求日渐旺盛,音视频类应用软件(如语音房或直播间类应用软件)在单页面(尤其是主页面)内包含的内容越来越多,页面场景也越来越复杂。
随着页面内容的不断迭代增加,应用页面在启动瞬间往往就需要渲染出上千个控件,请求上百个接口,因而需要占用大量的计算机资源,大大增加了计算机设备的运行负担,也会影响页面启动时候加载的速度,同时对计算机的性能要求也不利于应用软件在低性能计算机设备上的使用,从而影响用户的体验,导致用户的流失。
发明内容
本申请实施例提供了一种应用页面启动方法、装置、设备及介质,以解决对于内容复杂页面启动时需要占用大量资源且页面启动负担较大的问题。
第一方面,本实施例提供了一种应用页面启动方法,包括:
监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;
基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载。
第二方面,本实施例提供了一种应用页面启动装置,包括:
页面初始呈现模块,用于监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;
页面增量加载模块,用于基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载。
第三方面,本实施例提供了一种应用页面启动设备,所述应用页面启动设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的应用页面启动方法。
第四方面,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本申请任一实施例所述的应用页面启动方法。
本申请实施例公开了一种应用页面启动方法、装置、设备及介质。该方法首先监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;然后基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载。上述技术方案,基于目标页面相关组件的重要性,优先加载必要组件,然后当收到页面刷新信号时再根据组件依赖关系增量式加载剩余其它组件。相比于现有技术中应用页面启动瞬间需要加载所有组件,本方法在页面启动时渐进式加载组件,可以节约占用资源且提高页面启动加载速度,具备更好的用户体验。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种应用页面启动方法的流程示意图图;
图2为本申请实施例二提供的一种应用页面启动方法的流程示意图;
图3为本申请实施例三所提供应用页面启动的示例流程图;
图4为本申请实施例四提供的一种应用页面启动装置的结构框图;
图5为本申请实施例五提供的应用页面启动设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本申请实施例一提供的一种应用页面启动方法的流程示意图,本实施例可适用于应用页面启动的情况,该方法可以由应用页面启动装置来执行,该应用页面启动装置可以采用硬件和/或软件的形式实现,该一种应用页面启动装置可配置于应用页面启动设备中。
需要说明的是,当前安卓(Android)系统主流的开发框架基于生命周期感知型(LifeCycle)组件的模型-视图-视图(Model-View-ViewModel,MVVM)设计模式,该设计模式是通过生命周期感知型组件将复杂的页面逻辑拆分成多个组件。在组件中完成相关业务逻辑编写,并拥有页面组件生命周期的能力。组件能够很好的完成业务逻辑作用,但是随着需求的迭代,组件越来越多,各个组件之间又是存在关联的,而且为了加快渲染速度,项目当中很多地方会使用控件加载。
其中,在应用页面启动的瞬间,会同时把所有相关组件一起加载出来,需要渲染出上千个控件,请求上百个接口,因而需要占用大量的计算机资源,大大增加了计算机设备的运行负担,也会影响页面启动时候加载的速度,同时对计算机的性能要求也不利于应用软件在低性能计算机设备上的使用,从而影响用户的体验,导致用户的流失。考虑到应用页面启动的效率及应用广泛性,需要找到一种更适合页面启动的方式,本实施例提供一种应用页面启动方法。
如图1所示,本实施例提供的一种应用页面启动方法,具体包括下述步骤:
S110、监听到目标页面的启动操作时,加载相对目标页面预设的必要组件,以第一页面状态呈现目标页面。
其中,目标页面具体可以理解为根据用户操作需要显示的页面。当用户欲查看某页面时,打开移动终端的页面或者刷新某页面时,就会触发目标页面的启动操作。为了显示渲染后的目标页面以供用户查看,需要将目标页面的所有相关组件和相关控件均加载完成。考虑到现有技术中,在监听到目标页面的启动操作时,会将所有组件和控件同时进行并行加载,同一时间大量的进行页面渲染操作,会导致大量计算机资源被占用且影响页面加载速度。本技术方案中,根据各个组件的重要性,按照先后顺序进行加载,渐进式的加载组件,在页面启动时先加载必须组件,再依次加载剩余其他组件。
本实施例,在进行页面设计的编码阶段,可以将目标页面的业务组件进行划分,从中划分出页面启动必须加载的基础组件作为必要组件,将除必要加载组件的剩余其他组件划分为另一组后续才会加载。其中,基础组件可以理解为提供各个功能组件的基础能力的支持,功能组件依赖基础组件才能正常执行,因此在页面启动时创建时需要马上加载必要组件。划分出的必要组件可以构成必要组件列表,用于在页面启动时,获取必要组件。可以清楚的是,每个组件都关联有组件的相关数据,例如组件属性等。根据组件的相关数据可以渲染页面内容。必要组件列表可以与页面相关的启动函数关联,例如,必要组件列表可以预先封装在页面相关的启动函数中。
具体的,当监听到目标页面的启动操作时,可以通过调用该页面相关的启动函数,获取该页面的必要组件列表;根据必要组件列表可以获取该页面对应的页面组件中所有必要组件;将必要组件进行加载,并根据组件的相关数据渲染页面内容,将加载完必要组件的页面作为第一页面状态呈现。可以理解的是,第一页面状态可能是用户欲查看的页面最终显示状态,也可能是只渲染了部分页面内容,显示的是页面最终显示状态中的部分内容。
S120、基于系统的页面刷新信号,结合相对目标页面预设的组件依赖关系,增量式加载目标页面的功能组件,直至完成全部功能组件的加载。
需要知道的是,步骤S110中,先加载了相对目标页面预设的必要组件并以第一页面状态呈现目标页面。本步骤是将相对目标页面的组件中除必要组件以外的剩余组件进行加载,当全部功能组件加载完成后,才能实现目标页面的完整显示。
可以清楚的是,屏幕的刷新过程是每一行从左到右(水平刷新),从上到下(垂直刷新)。当整个屏幕刷新完毕,即一个垂直刷新周期完成,会有短暂的空白期,此时发出显示器垂直同步时钟信号(VSync信号)。示例性的,对于市面上大多数手机来说,60hz刷新率的手机,会每隔16ms刷新一次,刷新一次表示更新一帧,可以理解为页面刷新信号VSync信号到来。本实施例中,将剩余组件的加载时机确定为系统的页面刷新信号到来时刻。每当有系统的页面刷新信号到来时,进行剩余组件的加载。
由于目标页面的各功能组件之间存在依赖关系,可以理解为执行该组件前需要先加载依赖的组件。本实施例中,在进行页面启动之前,也就是页面设计编码之初,在将目标页面的业务组件进行划分出必要组件的同时,需要确定各组件之间存在的依赖关系,这种依赖关系可以通过注解信息的方式进行表述。组件之间依赖关系的注解信息可以预先在编译阶段写入相关函数中,当需要用到依赖关系时,通过调用该函数可以获取组件依赖关系。
可以理解的是,在收到系统的页面刷新信号时,可以先检查是否存在未加载的组件。在将目标页面的业务组件进行划分出必要组件时,将必要组件与除必要组件以外的其它剩余组件划分成两组,其中必要组件构成必要组件列表,其它剩余组件可以添加到未加载组件列表。若不存在未加载组件,则表示已将目标页面相关的所有组件均已加载完毕,第一页面状态呈现的目标页面即为目标页面的最终显示状态。若存在未加载组件,则表示目标页面还未加载完毕,需要根据组件依赖关系,分别加载剩余其它组件。
本实施例中,在将剩余其它未加载组件进行加载时,对于任一未加载组件,可以根据组件依赖关系,先加载依赖关系中源头组件,优先加载源头组件。示例性的,若组件A依赖组件B,组件B依赖组件C,组件C依赖组件D,组件D不依赖其它组件。则在进行加载时,在选中组件A作为加载对象时,应先根据依赖关系确定组件D,优先加载组件D。
需要说明的是,在将剩余其它未加载组件进行加载时,采用增量式加载方式,即一个组件一个组件先后加载,每个组件加载的时机是当监听到系统的页面刷新信号时。对于无依赖关系的未加载组件的加载先后顺序,此处不做具体限制,可以任意选取未加载组件作为加载对象。对于存在依赖关系的未加载组件的加载先后顺序,需要根据加载依赖关系,优先加载源头组件。示例性的,假设组件A1、A2、A3均为未加载组件,假设组件A1依赖组件B1,组件B1依赖组件C1,组件C1依赖组件D1,组件D1不依赖其它组件;若组件A2依赖组件B2,组件B2依赖组件C2,组件C1不依赖其它组件;若组件A3依赖组件B3,组件B3依赖组件C3,组件C3依赖组件D3,组件D3依赖组件E3,组件E3不依赖其它组件。在选择加载对象时,可以选择组件A1、A2、A3任意一个未加载组件作为加载对象,再根据依赖关系确定最终加载组件。一旦选中其中一个组件作为加载对象,则其依赖关系是确定的,根据组件依赖关系,其确定的最终加载组件是确定的。
需要知道的是,在任意选取未加载组件作为加载对象时,可能选到依赖关系链条中链条前端的组件,也可能是链条中间的组件,也可能是链条尾端的组件。在确定最终加载组件时,还应该考虑到依赖关系中被依赖组件是否已被加载,如果被依赖组件已被加载,可以确定该被依赖组件对应的依赖组件为最终加载组件。
当全部功能组件加载完成,表征该目标页面加载完毕,可以显示目标页面的最终状态。
进一步地,相对目标页面预设的组件依赖关系,通过目标页面所涉及各组件的组件依赖注解信息来表征;各组件依赖注解信息预先记录在相应组件的类函数中,且各组件之间不存在循环依赖。
具体的,在列出完整的依赖关系以后,通过编译代码,编译器件会通过拓扑排序检查是否存在循环依赖,若存在循环依赖,则表明代码编写错误,会提示异常;若不存在循环依赖,则编码正常编译通过。
本实施例一提供一种应用页面启动方法,该方法首先监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;然后基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载。考虑到现有技术中,页面启动时会加载所有组件,对于内容复杂的页面在启动瞬间需要加载大量控件导致占用大量资源且影响页面启动加载速度;针对该问题,本技术方案基于组件的重要性,优先加载必要组件,当收到页面刷新信号时再根据依赖关系渐进式加载剩余其它组件,从而更合理的分配页面启动时的资源,避免瞬间增加移动终端中央处理器的使用率导致的页面卡顿,移动终端发热等问题,节约了占用资源且提高了页面启动速度。具备更好的用户体验,且不会对页面实际功能造成影响。
作为本实施例的一个优选实施例,本优选实施例在执行增量式加载所述目标页面的功能组件的操作后,还优化包括了下述步骤:以第二页面状态呈现目标页面。
其中,第二页面状态中包括所对应页面刷新信号下增量所加载功能组件渲染的页面内容。具体的,第二页面状态可以理解为目标页面在每次增量加载功能组件渲染呈现的状态。在对应页面刷新信号下,分别加载功能组件,直到所有功能组件加载完毕,此时通过加载功能组件渲染的页面内容为目标页面的最终状态。
实施例二
图2为本实施例二提供的一种应用页面启动方法的流程示意图,本实施例以上述实施例一为基础进行优化,在本实施例中,将加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面进一步优化为:通过设定的页面启动入口函数,获取所述目标页面启动对应的必要组件列表;根据所述必要组件列表,从所述目标页面的页面组件集中获得各必要组件,其中,所述必要组件列表预先封装在所述页面启动入口函数中;加载各所述必要组件,通过各所述必要组件的组件数据渲染页面内容,以第一页面状态呈现所述目标页面。
同时,本实施例还可以将基于系统的页面刷新信号,结合所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载进一步优化为:监听到系统的当前页面刷新信号时,确定所述目标页面当前是否存在未加载组件;若存在,则基于相对所述目标页面预设的组件依赖关系,确定所述当前页面刷新信号下对应的当前待加载组件,并加载所述当前待加载组件;返回继续监听系统的页面刷新信号,直至不存在未加载组件。
S210、监听到目标页面的启动操作时,通过设定的页面启动入口函数,获取目标页面启动对应的必要组件列表。
本实施例中,将目标页面所需的所有组件,按照组件的重要性,划分出目标页面启动所需的必要组件。在进行目标页面启动时,优先加载必要组件;再加载其余组件。
其中,必要组件列表包含了目标页面启动时所需要的所有必要组件。必要组件列表是在目标页面启动操作前,页面设计的编码阶段确定的。在进行页面设计的编码阶段,可以将目标页面的业务组件进行划分,从中划分出页面启动必须加载的基础组件作为必要组件,将除必要加载组件的剩余其他组件划分为另一组后续才会加载。其中,基础组件可以理解为提供各个功能组件的基础能力的支持,功能组件依赖基础组件才能正常执行,因此在页面启动创建时马上加载。划分出的必要组件可以构成必要组件列表,用于在页面启动时,基于必要组件列表的记录内容获取必要组件。
其中,页面启动入口函数是在编码阶段设定的,必要组件列表与页面启动入口函数相关联,必要组件列表预先封装在页面启动入口函数中。通过页面启动入口函数可以获取目标页面启动对应的必要组件列表。示例性的,页面启动入口函数的类名可以是SeqComponentManager,作为框架入口,管理整个加载过程的所有流程。
S220、根据必要组件列表,从目标页面的页面组件集中获得各必要组件。
其中,必要组件列表预先封装在页面启动入口函数中。在进行页面设计时,通过生命周期感知型组件将复杂的页面逻辑拆分开来,形成多个组件,对每个组件完成相关业务逻辑的编写。目标页面的页面组件集中包含了目标页面渲染所需加载的所有组件。具体的,根据必要组件列表记录的内容,可以确定哪些是必要组件,从目标页面的页面组件集中筛选出所有必要组件。
S230、加载各必要组件,通过各必要组件的组件数据渲染页面内容,以第一页面状态呈现目标页面。
其中,组件数据表征了页面内容的属性。第一页面状态是加载完必要组件所呈现的页面状态,可以理解的是,若该目标页面还包含其他未加载组件,则第一页面状态并非目标页面的最终状态,还需要后续加载其他未加载组件,进行目标页面的渲染。本步骤中,先加载必要组件,通过各必要组件的组件数据渲染页面内容,以第一页面状态呈现目标页面。
S240、监听到系统的当前页面刷新信号时,确定目标页面当前是否存在未加载组件。
本步骤是在步骤S230完成后进行的。可以清楚的是,屏幕的刷新过程是每一行从左到右(水平刷新),从上到下(垂直刷新)。当整个屏幕刷新完毕,即一个垂直刷新周期完成,会有短暂的空白期,此时发出显示器垂直同步时钟信号(VSync信号)。示例性的,对于市面上大多数手机来说,60hz刷新率的手机,会每隔16ms刷新一次,刷新一次表示更新一帧,可以理解为页面刷新信号到来。本实施例中,将剩余组件的加载时机确定为系统的页面刷新信号到来时刻。每当有系统的页面刷新信号到来时,进行剩余组件的加载。
具体的,在加载完必要组件后,当监听到系统的当前页面刷新信号时,需要确定目标页面当前是否存在未加载组件,确定的方式可以是通过查看未加载列表中是否还有未加载组件。
S250、若存在,则基于相对目标页面预设的组件依赖关系,确定当前页面刷新信号下对应的当前待加载组件,并加载当前待加载组件;返回继续监听系统的页面刷新信号。
本步骤中,若目标页面当前还存在未加载组件,表征还需要继续加载其他未加载组件并渲染才能呈现目标页面的最终显示状态。具体的,可以选择任一未加载组件,并根据组件依赖关系进一步确定该选定组件是否依赖于其他未加载组件,若不依赖,可以确定当前页面刷新信号下对应的组件为当前待加载组件。由于组件依赖关系,会保证其依赖的组件都已经加载完成才能进行该组件的加载。若依赖其他未加载组件,则需要进一步确定被依赖的未加载组件是否有依赖未加载组件,直到得出没有其他依赖的未加载组件,则可以确定没有其他依赖的未加载组件为当前页面刷新信号下对应的当前待加载组件。
需要说明的是,当前待加载组件可能依赖加载控件,若当前加载组件不依赖加载控件,则可以直接加载当前待加载组件;若当前加载组件依赖加载控件,则需要先加载依赖的加载控件,控件加载完毕后,再进行当前加载组件的加载。当当前待加载组件完成后,表示当前帧的工作已经完成,需要等待下一个系统的页面刷新信号,并重复上述步骤。
进一步地,基于相对目标页面预设的组件依赖关系,确定当前页面刷新信号下对应的当前待加载组件的步骤可以优化为:
a1)从未加载组件列表中选定任一未加载组件,作为当前待检查组件。
其中,未加载组件列表中包含了所有未加载组件,在进行除必要组件以外的组件加载时,其加载时间顺序不做具体限制,在选取当前待检查组件时,可以选择任一未加载组件。
示例性的,假设未加载组件列表包含未加载组件A4、B4、C4、D4、E4、F4等,可以选择其中任一一个组件作为当前待检查组件,例如选择组件C4为当前待检查组件。
b1)通过组件依赖检查函数检查组件依赖关系,确定当前待检查组件是否依赖其他未加载组件。
具体的,功能组件之间存在依赖关系,需要通过注解的形式表明当前组件依赖了哪些组件或者是控件。在当前待检查组件确定后,则可以通过组件依赖检查函数获取该组件相关依赖关系的注解,进而根据注解判断当前待检查组件是否依赖其他组件。若无注解,表征当前待检查组件不依赖未加载组件;若有注解,表征当前待检查组件依赖其他组件,需要根据未加载组件列表确定依赖的其他组件是否为未加载组件。
优选地,通过组件依赖检查函数检查组件依赖关系,确定当前待检查组件是否依赖其他未加载组件的步骤可以优化为:
b11)通过组件依赖检测函数,读取当前待检测组件的类函数,并检查类函数中是否包含组件依赖注解信息。
其中,依赖注解信息记录了组件依赖了哪些组件或者依赖了哪些控件。组件依赖关系处理,会保证其依赖的组件都已经创建完成;控件关系处理,会保证其依赖的控件都加载完成。组件依赖注解信息是在页面设计之初就已经写入类函数中。
示例性的,组件依赖检查函数的类可以是ComponentDependenceChecker,通过调用该函数,用户可以获取依赖树中叶节点的组件,组件依赖关系可用ComponentDependence添加注解。
本步骤中,通过依赖检测函数,读取当前待检测组件的类函数,并检查类函数中是否包含组件依赖注解信息,用于进一步确定加载组件。
b12)若不包含,则确定当前待检查组件不依赖其他组件。
具体的,若检查到类函数中不包含组件依赖注解信息,则表明当前待检查组件不依赖其他组件。
b13)若包含,则获取组件依赖注解信息中包括的各依赖组件,并确定各依赖组件中是否存在未加载组件
具体的,若检查到类函数中包含组件依赖注解信息,则获取从组件依赖注解信息中包含的各依赖组件,并进一步确定这些依赖组件是否存在于未加载列表中,从而确定这些组件是否存在未加载组件。
b14)若不存在,则确定当前待检查组件不依赖其他未加载组件,若存在,确定当前待检查组件依赖其他未加载组件。
具体的,若确定出的依赖组件中不存在未加载组件,表明这些组件已被加载过,则确定当前待检查组件不依赖其他未加载组件;若确定出的依赖组件中存在未加载组件,表明有些组件未被加载过,则确定当前待检查组件依赖其他未加载组件。
c1)若依赖,则选定所依赖的任一其他未加载组件,作为新的当前待检查组件,并返回继续执行组件的依赖确定操作。
具体的,若当前待检查组件依赖其他未加载组件,则表明不能加载该当前待检查组件,执行此组件前需要先加载依赖的组件。因此,需要将当前待检查组件所依赖的未加载组件作为新的当前待检查组件,并返回继续确定新的当前待检查组件是否依赖其他未加载组件。可以知道的是,当前待检查组件可以依赖其他一个组件,或者依赖其他几个组件。所以,在确定新的当前待检查组件确定时,若当前待检查组件在下一节点只依赖一个未加载组件,则确定该被依赖的未加载组件为新的当前待检查组件;若当前待检查组件在下一节点依赖两个或两个以上未加载组件,则可以选择被依赖组件中任一未加载组件作为新的当前待检查组件。
示例性的,若当前待检查组件A5依赖组件B5,则可以确定组件B5作为新的当前待检查组件。若当前待检查组件A5依赖组件B5和C5,则可以确定组件B5或者C5作为新的当前待检查组件。
d1)若不依赖,则将当前待检查组件作为当前待加载组件,并从未加载组件列表中删除当前待检查组件。
具体的,若当前待检查组件不依赖其他组件,则无需在执行此组件前需要先加载依赖的组件,则可以将当前待检查组件作为当前待加载组件,进行后续加载。同时需要从未加载列表中将当前待加载组件删除。
示例性的,若当前待检查组件A5不依赖其他组件,则可以把A5作为当前待加载组件,并将A5从未加载组件列表中删除。
进一步地,加载当前待加载组件,包括:
a2)检查当前待加载组件的类函数,确定当前待加载组件是否存在所依赖的加载控件。
具体的,检查当前待加载组件的类函数,并检查类函数中是否包含组件依赖注解信息,依赖注解信息中是否包含依赖的加载控件。若不存在依赖控件,则在当前帧加载当前待加载组件。
b2)如果存在,则加载及渲染加载控件的控件数据,并在渲染完成后加载当前待加载组件的组件数据进行页面内容渲染。
具体的,若当前待加载组件存在所依赖的加载控件,则需要优先加载该控件。控件数据表征了加载控件的属性信息,通过加载及渲染加载控件的控件数据,完成控件的渲染。组件数据表征了页面内容的属性信息,然后,再加载当前待加载组件的组件数据进行页面内容渲染。
S260、若不存在,则加载结束。
具体的,当不存在未加载组件时,表示该目标页面所需的所有组件均已加载完毕,不再进行上述步骤,则该目标页面显示完整。
本申请实施例提供的一种应用页面启动方法,本实施例以上述实施例一为基础进行优化,在本实施例中,具体优化了将加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面的步骤,以及基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载的步骤。本技术方案根据各个组件的重要性划分加载的先后顺序,在应用页面开启后,优先加载必须组件,将剩余组件的功能延后加载,节约启动瞬间的计算耗时,从而提高页面启动的速度。对于低配置移动终端也能更好的实现渲染,具有普适性。另外,在进行其他未加载组件的加载过程中,根据依赖关系进行增量式加载组件,不需要在运行加载前通过拓扑排序去计算个个组件之间的依赖关系,而是通过编译时检查,运行时动态计算,节省了资源占用。
实施例三
图3为本申请实施例三所提供应用页面启动的示例流程图,如图3所示,本实施例三采用下述步骤实现应用页面启动。
具体的,本实施例所提供应用页面启动方法的一种示例性实现可以包括:
S301、代码编译。本步骤是将页面启动的设计代码进行编译。
S302、检查组件间是否存在循环依赖,
S303、若是,则提示异常。
S304、若否,则监听到目标页面的启动操作;
S305、加载相对目标页面预设的必要组件;
S306、以第一页面状态呈现目标页面;
S307、监听到系统的当前页面刷新信号;
S308、确定目标页面当前是否存在未加载组件;
S309、若否,则加载完成;
S310、若是,则基于相对目标页面预设的组件依赖关系,确定当前页面刷新信号下对应的当前待加载组件;
S311、确定当前待加载组件是否存在所依赖的加载控件;
S312、如果存在,则先加载控件,再加载组件数据;
S313、如果不存在,则加载当前待加载组件;
S314、当前帧加载完成,返回继续监听系统的当前页面刷新信号,直至不存在未加载组件。
为了验证本实施例提供的应用页面启动方法具有提升页面开启速度的作用,以实际测试设备应用本方法与应用现有技术的实测数据为基础,进行说明:
表1为优化前应用页面启动所需时间信息;表2为优化后应用页面启动所需时间信息;表3为优化前后各数据优化百分比信息。其中,参数解析:unknown表示:一些代码的初始化耗时;layout+measure表示:布局绘制耗时;total表示:总耗时。
表1
帧数 | unknown | layout+measure | total |
第1帧 | 252ms | 90ms | 356ms |
前5帧平均耗时 | 81ms | 18ms | 106ms |
前10帧平均耗时 | 47ms | 10ms | 63ms |
前15帧平均耗时 | 32ms | 8ms | 47ms |
前20帧平均耗时 | 32ms | 8ms | 48ms |
表2
表3
帧数 | unknown | layout+measure | total |
第1帧 | +55% | +7% | +42% |
前5帧平均耗时 | +42% | +11% | +33% |
前10帧平均耗时 | +44% | +10% | +33% |
前15帧平均耗时 | +46% | +25% | +32% |
前20帧平均耗时 | +50% | +25% | +37% |
通过对比可以看出,页面加载首帧耗时减少了40%多(356ms>209ms)。使用本申请以后页面的第1帧,前5帧,前10帧,前15帧,前20帧加载的平均速度都有了显著的提升,从传统的并行加载方式,改成了增量式加载,解决了复杂页面场景下,首次打开加载耗时时间长,打开速度慢的问题。
实施例四
图4为本申请实施例四提供的一种应用页面启动装置的结构框图,该装置适用于应用页面启动的情况,其中,该装置可以由软件和/或硬件实现,并一般可集成在应用页面启动设备上。如图4所示,该装置包括:页面初始呈现模块41和页面增量加载模块42。
其中,页面初始呈现模块41,用于监听到目标页面的启动操作时,加载相对目标页面预设的必要组件,以第一页面状态呈现目标页面;
页面增量加载模块42,用于基于系统的页面刷新信号,结合相对目标页面预设的组件依赖关系,增量式加载目标页面的功能组件,直至完成全部功能组件的加载。
进一步地,该装置还包括第二页面状态呈现模块,用于:
以第二页面状态呈现目标页面,其中,第二页面状态中包括所对应页面刷新信号下增量所加载功能组件渲染的页面内容。
进一步地,页面初始呈现模块41,具体可以用于:
通过设定的页面启动入口函数,获取目标页面启动对应的必要组件列表;
根据必要组件列表,从目标页面的页面组件集中获得各必要组件,其中,必要组件列表预先封装在页面启动入口函数中;
加载各必要组件,通过各必要组件的组件数据渲染页面内容,以第一页面状态呈现目标页面。
进一步地,页面增量加载模块42,具体可以包括:
监听单元,用于监听到系统的当前页面刷新信号时,确定目标页面当前是否存在未加载组件;
当前待加载组件确定单元,用于若存在,则基于相对目标页面预设的组件依赖关系,确定当前页面刷新信号下对应的当前待加载组件,并加载当前待加载组件;
返回单元,用于返回继续监听系统的页面刷新信号,直至不存在未加载组件。
进一步地,当前待加载组件确定单元,具体用于:
从未加载组件列表中选定任一未加载组件,作为当前待检查组件;
通过组件依赖检查函数检查组件依赖关系,确定当前待检查组件是否依赖的其他未加载组件;
若依赖,则选定所依赖的任一其他未加载组件,作为新的当前待检查组件,并返回继续执行组件的依赖确定操作;
若不依赖,则将当前待检查组件作为当前待加载组件,并从未加载组件列表中删除当前待检查组件。
进一步地,当前待加载组件确定单元用于通过组件依赖检查函数检查组件依赖关系确定当前待检查组件是否依赖的其他未加载组件的步骤,具体可以包括:
通过组件依赖检测函数,读取当前待检测组件的类函数,并检查类函数中是否包含组件依赖注解信息;
若不包含,则确定当前待检查组件不依赖其他组件;
若包含,则获取组件依赖注解信息中包括的各依赖组件,并确定各依赖组件中是否存在未加载组件;
若不存在,则确定当前待检查组件不依赖其他未加载组件,若存在,确定当前待检查组件依赖其他未加载组件。
进一步地,当前待加载组件确定单元用于加载当前待加载组件的步骤具体可以表述为:
检查当前待加载组件的类函数,确定当前待加载组件是否存在所依赖的加载控件;
如果存在,则加载及渲染加载控件的控件数据,并在渲染完成后加载当前待加载组件的组件数据进行页面内容渲染。
进一步地,相对目标页面预设的组件依赖关系,通过目标页面所涉及各组件的组件依赖注解信息来表征;
各组件依赖注解信息预先记录在相应组件的类函数中,且各组件之间不存在循环依赖。
本申请实施例所提供的应用页面启动装置可执行本申请任意实施例所提供的应用页面启动方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本申请实施例提供的应用页面启动设备50的结构示意图。本申请实施例提供了一种应用页面启动设备,该应用页面启动设备中可集成本申请实施例提供的应用页面启动装置。如图5所示,应用页面启动设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储应用页面启动设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
应用页面启动设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许应用页面启动设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
本申请实施例还提供一种包含计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令在由计算机处理器执行时用于执行本申请实施例提供的应用页面启动方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。
Claims (11)
1.一种应用页面启动方法,其特征在于,包括:
监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;
基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载;
其中,所述基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载,包括:
在收到系统的页面刷新信号时,先检查是否存在未加载的组件;
对于任一未加载组件,根据所述组件依赖关系,先加载依赖关系中的源头组件。
2.根据权利要求1所述的方法,其特征在于,在增量式加载所述目标页面的功能组件之后,还包括:
以第二页面状态呈现所述目标页面,其中,所述第二页面状态中包括所对应页面刷新信号下增量所加载功能组件渲染的页面内容。
3.根据权利要求1所述的方法,其特征在于,所述加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面,包括:
通过设定的页面启动入口函数,获取所述目标页面启动对应的必要组件列表;
根据所述必要组件列表,从所述目标页面的页面组件集中获得各必要组件,其中,所述必要组件列表预先封装在所述页面启动入口函数中;
加载各所述必要组件,通过各所述必要组件的组件数据渲染页面内容,以第一页面状态呈现所述目标页面。
4.根据权利要求1所述的方法,其特征在于,所述基于系统的页面刷新信号,结合所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载,包括:
监听到系统的当前页面刷新信号时,确定所述目标页面当前是否存在未加载组件;
若存在,则基于相对所述目标页面预设的组件依赖关系,确定所述当前页面刷新信号下对应的当前待加载组件,并加载所述当前待加载组件;
返回继续监听系统的页面刷新信号,直至不存在未加载组件。
5.根据权利要求4所述的方法,其特征在于,所述基于相对所述目标页面预设的组件依赖关系,确定所述当前页面刷新信号下对应的当前待加载组件,包括:
从未加载组件列表中选定任一未加载组件,作为当前待检查组件;
通过组件依赖检查函数检查组件依赖关系,确定所述当前待检查组件是否依赖其他未加载组件;
若依赖,则选定所依赖的任一其他未加载组件,作为新的当前待检查组件,并返回继续执行组件的依赖确定操作;
若不依赖,则将所述当前待检查组件作为当前待加载组件,并从所述未加载组件列表中删除所述当前待检查组件。
6.根据权利要求5所述的方法,其特征在于,所述通过组件依赖检查函数检查组件依赖关系,确定所述当前待检查组件是否依赖的其他未加载组件,包括:
通过所述组件依赖检测函数,读取所述当前待检测组件的类函数,并检查所述类函数中是否包含组件依赖注解信息;
若不包含,则确定所述当前待检查组件不依赖其他组件;
若包含,则获取所述组件依赖注解信息中包括的各依赖组件,并确定各所述依赖组件中是否存在未加载组件;
若不存在,则确定所述当前待检查组件不依赖其他未加载组件,若存在,确定所述当前待检查组件依赖其他未加载组件。
7.根据权利要求4所述的方法,其特征在于,所述加载所述当前待加载组件,包括:
检查所述当前待加载组件的类函数,确定所述当前待加载组件是否存在所依赖的加载控件;
如果存在,则加载及渲染所述加载控件的控件数据,并在渲染完成后加载所述当前待加载组件的组件数据进行页面内容渲染。
8.根据权利要求1-7任一项所述的方法,其特征在于,相对所述目标页面预设的组件依赖关系,通过目标页面所涉及各组件的组件依赖注解信息来表征;
各组件依赖注解信息预先记录在相应组件的类函数中,且各组件之间不存在循环依赖。
9.一种应用页面启动装置,其特征在于,包括:
页面初始呈现模块,用于监听到目标页面的启动操作时,加载相对所述目标页面预设的必要组件,以第一页面状态呈现所述目标页面;
页面增量加载模块,用于基于系统的页面刷新信号,结合相对所述目标页面预设的组件依赖关系,增量式加载所述目标页面的功能组件,直至完成全部功能组件的加载;
其中,页面增量加载模块,具体用于:
在收到系统的页面刷新信号时,先检查是否存在未加载的组件;
对于任一未加载组件,根据所述组件依赖关系,先加载依赖关系中的源头组件。
10.一种应用页面启动设备,其特征在于,所述应用页面启动设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的应用页面启动方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的应用页面启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210187218.7A CN114546534B (zh) | 2022-02-28 | 2022-02-28 | 一种应用页面启动方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210187218.7A CN114546534B (zh) | 2022-02-28 | 2022-02-28 | 一种应用页面启动方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546534A CN114546534A (zh) | 2022-05-27 |
CN114546534B true CN114546534B (zh) | 2023-11-24 |
Family
ID=81678655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210187218.7A Active CN114546534B (zh) | 2022-02-28 | 2022-02-28 | 一种应用页面启动方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546534B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093529A (zh) * | 2013-01-10 | 2013-05-08 | 高新现代智能系统股份有限公司 | 动态刷新数据的方法 |
CN106294609A (zh) * | 2016-07-29 | 2017-01-04 | 北京小米移动软件有限公司 | 页面加载方法及装置 |
GB201807929D0 (en) * | 2018-05-16 | 2018-06-27 | Sage Uk Ltd | Application Deployment |
CN108629032A (zh) * | 2018-05-09 | 2018-10-09 | 厦门南讯软件科技有限公司 | 一种基于延时加载的页面快速响应方法及装置 |
CN108733444A (zh) * | 2018-05-14 | 2018-11-02 | 北京五八信息技术有限公司 | 一种页面的刷新方法、装置、存储介质及移动终端 |
CN108920203A (zh) * | 2017-07-13 | 2018-11-30 | 成都广达新网科技股份有限公司 | 一种页面加载方法及设备 |
CN110865852A (zh) * | 2019-11-19 | 2020-03-06 | 北京字节跳动网络技术有限公司 | 网页组件的加载方法、装置、电子设备、及存储介质 |
CN111581563A (zh) * | 2020-04-30 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面响应方法、装置、存储介质和电子设备 |
CN111967017A (zh) * | 2020-07-28 | 2020-11-20 | 深圳开源互联网安全技术有限公司 | 生成依赖关系的方法、装置、终端设备及存储介质 |
CN112861050A (zh) * | 2021-04-26 | 2021-05-28 | 北京健康之家科技有限公司 | 页面数据回溯方法、装置及设备 |
CN113220295A (zh) * | 2021-04-26 | 2021-08-06 | 深圳市云网万店科技有限公司 | 前端组件动态扩展的方法、系统及计算机可读存储介质 |
CN113377412A (zh) * | 2021-08-13 | 2021-09-10 | 武汉众智数字技术有限公司 | 一种客户端软件增量更新的方法和系统 |
CN113626093A (zh) * | 2020-05-08 | 2021-11-09 | 北京密境和风科技有限公司 | 基于划分时间片的加载方法、系统、存储介质及其计算机设备 |
CN113836454A (zh) * | 2021-09-15 | 2021-12-24 | 深圳壹账通智能科技有限公司 | 一种内容展示页面的展示方法、装置、介质及设备 |
CN114064141A (zh) * | 2021-10-22 | 2022-02-18 | 用友网络科技股份有限公司 | 中间件启动时长优化方法、装置和可读存储介质 |
-
2022
- 2022-02-28 CN CN202210187218.7A patent/CN114546534B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093529A (zh) * | 2013-01-10 | 2013-05-08 | 高新现代智能系统股份有限公司 | 动态刷新数据的方法 |
CN106294609A (zh) * | 2016-07-29 | 2017-01-04 | 北京小米移动软件有限公司 | 页面加载方法及装置 |
CN108920203A (zh) * | 2017-07-13 | 2018-11-30 | 成都广达新网科技股份有限公司 | 一种页面加载方法及设备 |
CN108629032A (zh) * | 2018-05-09 | 2018-10-09 | 厦门南讯软件科技有限公司 | 一种基于延时加载的页面快速响应方法及装置 |
CN108733444A (zh) * | 2018-05-14 | 2018-11-02 | 北京五八信息技术有限公司 | 一种页面的刷新方法、装置、存储介质及移动终端 |
GB201807929D0 (en) * | 2018-05-16 | 2018-06-27 | Sage Uk Ltd | Application Deployment |
CN110865852A (zh) * | 2019-11-19 | 2020-03-06 | 北京字节跳动网络技术有限公司 | 网页组件的加载方法、装置、电子设备、及存储介质 |
CN111581563A (zh) * | 2020-04-30 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面响应方法、装置、存储介质和电子设备 |
CN113626093A (zh) * | 2020-05-08 | 2021-11-09 | 北京密境和风科技有限公司 | 基于划分时间片的加载方法、系统、存储介质及其计算机设备 |
CN111967017A (zh) * | 2020-07-28 | 2020-11-20 | 深圳开源互联网安全技术有限公司 | 生成依赖关系的方法、装置、终端设备及存储介质 |
CN112861050A (zh) * | 2021-04-26 | 2021-05-28 | 北京健康之家科技有限公司 | 页面数据回溯方法、装置及设备 |
CN113220295A (zh) * | 2021-04-26 | 2021-08-06 | 深圳市云网万店科技有限公司 | 前端组件动态扩展的方法、系统及计算机可读存储介质 |
CN113377412A (zh) * | 2021-08-13 | 2021-09-10 | 武汉众智数字技术有限公司 | 一种客户端软件增量更新的方法和系统 |
CN113836454A (zh) * | 2021-09-15 | 2021-12-24 | 深圳壹账通智能科技有限公司 | 一种内容展示页面的展示方法、装置、介质及设备 |
CN114064141A (zh) * | 2021-10-22 | 2022-02-18 | 用友网络科技股份有限公司 | 中间件启动时长优化方法、装置和可读存储介质 |
Non-Patent Citations (3)
Title |
---|
基于Vue.js的Web前端应用研究;朱二华;;科技与创新(第20期);125-127 * |
基于系统函数拦截的Android应用权限细粒度控制方案研究与实现;金俊杰;《中国优秀硕士学位论文全文数据库信息科技辑》(第2期);I138-180 * |
首屏数据并行式预加载方案的研究与应用;闫兴亚;潘治颖;黄姝琦;;计算机与数字工程(第05期);261-265 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546534A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105045602B (zh) | 一种构建Hadoop应用开发框架的方法、装置及电子装置 | |
CN105589783A (zh) | 应用程序卡顿问题数据获取方法及装置 | |
CN107276842B (zh) | 接口测试方法、装置及电子设备 | |
CN109344044B (zh) | 计算页面首屏渲染时间的方法和系统 | |
CN112473144A (zh) | 游戏资源数据的处理方法及装置 | |
CN113238930B (zh) | 软件系统的测试方法、装置、终端设备和存储介质 | |
CN107402878B (zh) | 测试方法和装置 | |
CN112905441A (zh) | 测试用例生成方法、测试方法、装置及设备 | |
CN113448862A (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112732556B (zh) | 分布式系统的自动化测试方法、装置、设备及存储介质 | |
CN114546534B (zh) | 一种应用页面启动方法、装置、设备及介质 | |
CN108288228B (zh) | 社交网络信息获取方法和装置 | |
CN112905461A (zh) | 自动化接口测试案例执行方法及装置 | |
CN105074669A (zh) | 用于分析计算机系统活动的跟踪时间线的方法和系统 | |
CN116702668A (zh) | 一种回归测试方法、装置、电子设备和存储介质 | |
CN113419957B (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
CN115292418A (zh) | 跨系统业务流程自动化处理方法及系统 | |
CN114461323A (zh) | 一种卡顿处理方法、装置、电子设备及存储介质 | |
CN107833259B (zh) | 基于智能终端的动态漫画引擎处理方法及系统 | |
CN107885649A (zh) | Ios应用程序的性能测试方法和装置 | |
CN116069464B (zh) | 一种基于分布式存储调用数据执行的优化方法及装置 | |
CN111831953B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111176969B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114116490A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN115081233A (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 |