CN110083355B - 一种app页面的处理方法及装置 - Google Patents

一种app页面的处理方法及装置 Download PDF

Info

Publication number
CN110083355B
CN110083355B CN201910345229.1A CN201910345229A CN110083355B CN 110083355 B CN110083355 B CN 110083355B CN 201910345229 A CN201910345229 A CN 201910345229A CN 110083355 B CN110083355 B CN 110083355B
Authority
CN
China
Prior art keywords
function
component
stage
creation
processing stage
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
CN201910345229.1A
Other languages
English (en)
Other versions
CN110083355A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910345229.1A priority Critical patent/CN110083355B/zh
Publication of CN110083355A publication Critical patent/CN110083355A/zh
Application granted granted Critical
Publication of CN110083355B publication Critical patent/CN110083355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/451Execution arrangements for user interfaces
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种APP页面的处理方法及装置。该处理方法中,在组件的创建阶段,通过调用组件对应的预定创建函数执行关于组件的初始化操作;预定创建函数用于实现:使APP页面的第一帧对用户可见;在组件的除创建阶段以外的每一处理阶段,通过调用该处理阶段的预定处理函数处理组件;在除创建阶段以外的各处理阶段中,存在目标处理阶段;用于目标处理阶段的预定处理函数包括:实现目标处理阶段所对应操作的操作函数以及预定回调函数;预定回调函数用于实现:除使APP页面的第一帧对用户可见的操作以外的各个初始化操作。本发明实施例提供的APP页面处理方法,可以进一步提升APP页面的响应速度。

Description

一种APP页面的处理方法及装置
技术领域
本发明涉及软件技术领域,特别是涉及一种APP页面的处理方法及装置。
背景技术
对于APP(Application)页面而言,其由多个组件构成,多个组件包括活动组件Activity、视图容器组件ViewGroup等。其中,在APP页面的处理过程中,组件具有生命周期,而在组件的生命周期的各个阶段,调用该阶段对应的处理函数,对组件进行相应的处理。
现有的APP页面的处理方法中,在APP页面的Activity的创建阶段,通过调用Activity的onCreate函数,执行关于Activity的初始化操作;在APP页面的ViewGroup的创建阶段,通过调用ViewGroup的onCreate函数和onCreateView函数,执行关于ViewGroup的初始化操作。上述的初始化操作包括:加载布局文件、初始化视图、事件绑定、数据解析等。其中,onCreate函数和onCreateView函数均为安卓操作系统常用的函数。
但是,随着人们对用户体验的要求越来越高,基于现有的处理方法所带来的页面的响应速度已经无法满足人们的需求。因此,如何进一步提升APP页面的响应速度是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种APP页面的处理方法及装置,以进一步提升APP页面的响应速度。具体技术方案如下:
第一方面,本发明实施例提供了一种APP页面的处理方法,包括:
针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为:使所述APP页面的第一帧对用户可见的操作;所述Activity对应的预定创建函数为:第一onCreate函数,所述ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
在该组件的除所述创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;
其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
可选地,针对所述Activity,所述至少一个目标处理阶段包括:所述Activity的焦点获取阶段。
可选地,针对所述ViewGroup,所述至少一个目标处理阶段包括:所述ViewGroup的子组件的绘制阶段。
可选地,针对所述Activity,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
可选地,针对所述ViewGroup,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
所述预定回调函数被调用的时机,位于所述dispatchDraw函数和所述drawChild函数被调用的时机之间。
可选地,所述使所述APP页面的第一帧对用户可见的操作,包括:
加载布局文件和初始化视图。
第二方面,本发明实施例提供了一种APP页面的处理装置,包括:
组件初始化模块,用于针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为:使所述APP页面的第一帧对用户可见的操作;所述Activity对应的预定创建函数为:第一onCreate函数,所述ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
组件处理模块,用于在该组件的除所述创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
可选地,针对所述Activity,所述至少一个目标处理阶段包括:所述Activity的焦点获取阶段。
可选地,针对所述ViewGroup,所述至少一个目标处理阶段包括:所述ViewGroup的子组件的绘制阶段。
可选地,针对所述Activity,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
可选地,针对所述ViewGroup,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
所述预定回调函数被调用的时机,位于所述dispatchDraw函数和所述drawChild函数被调用的时机之间。
可选地,所述使所述APP页面的第一帧对用户可见的操作,包括:
加载布局文件和初始化视图。
第三方面,本发明实施例提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的APP页面的处理方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的APP页面的处理方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的APP页面的处理方法。
本发明实施例提供的APP页面的处理方法中,在APP页面的组件的创建阶段,通过调用APP页面的程序代码中的预定创建函数,执行关于组件的初始化操作;其中,预定创建函数所实现的初始化操作为使APP页面的第一帧对用户可见的操作;在组件的除创建阶段以外的每一处理阶段,通过调用与组件对应的、用于该处理阶段的预定处理函数,处理组件。其中,在组件的除创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于目标处理阶段的预定处理函数包括:实现目标处理阶段所对应操作的操作函数以及预定回调函数,预定回调函数用于实现:除使APP页面的第一帧对用户可见的操作以外的各个初始化操作。可见,由于与APP页面的第一帧显示无关的初始化操作,在创建阶段以外的目标处理阶段中实现,而创建阶段所能够实现的操作,仅仅是与第一帧显示相关的初始化操作。这样,在创建阶段,即页面响应过程中,可以省去执行其他初始化操作所消耗的时间。因此,相对于现有方法,可以进一步提升APP页面的响应速度。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种APP页面的处理方法的流程图;
图2(a)为ViewGroup从创建阶段到目标处理阶段的各个处理阶段的执行顺序示意图;图2(b)为Activity从创建阶段到目标处理阶段的各个处理阶段的执行顺序示意图;
图3为本发明实施例提供的一种APP页面的处理装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了进一步提升APP页面的响应速度,本发明实施例提供了一种APP页面的处理方法及装置。
需要说明的是,本发明实施例提供的一种APP页面的处理方法的执行主体,可以为一种APP页面的处理装置,该处理装置可以为APP中的功能模块,也可以为安装有APP的电子设备的操作系统中的功能性模块。可以理解的是,当该处理装置为APP中的功能模块时,该APP可以与操作系统交互,从而完成APP页面的处理;当该处理装置为操作系统中的功能性模块时,该操作系统也可以与APP交互,从而完成APP页面的处理。
在具体应用中,上述安装有APP的电子设备可以为智能手机、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备,或个人数字助理等。另外,上述操作系统,可以为安卓操作系统,当然并不局限于此。
需要说明的是,本发明实施例提供的一种APP页面的处理方法,适用于APP的各个页面,例如,打开APP所显示的APP主页、用户点击某一链接后所转入的APP的某一页面,以及在APP主页之前所加载显示的广告页面或等待页面等。另外,当待处理的APP页面为打开APP所显示的APP主页时,APP页面的第一帧,为该APP主页的第一帧,而不是在该APP主页之前所加载的广告页面或等待页面的第一帧。同样的,当待处理的APP页面为APP打开后的某一页面时,APP页面的第一帧也是该页面的第一帧。
并且,对于任一APP页面而言,所谓的第一帧是指用户所看到的APP页面的第一个静态画面,一旦该静态画面发生变化,例如画面中的字符的位置发生了变化,则发生变化的画面属于APP页面的第一帧之后的帧。可以理解的是,当APP页面包含有视频动画时,APP页面的第一帧中,视频动画是静态的画面,例如,APP页面的第一帧所呈现的视频动画,可以为该视频动画的第一帧,或者,可以为预设的该视频动画的一个截图。
需要说明的是,本发明实施例中所称的函数,也可称为方法。例如,预定回调函数也可称为预定回调方法,onCreate函数也可称为onCreate方法。
另外,对于组件的生命周期而言,其为操作系统所定义,生命周期记录了组件从开始生成到最后消亡所经历的各个阶段,并且,生命周期的不同阶段,可以对应不同的回调函数。
首先,对本发明实施例提供的一种APP页面的处理方法进行详细说明。
如图1所示,本发明实施例提供的一种APP页面的处理方法,可以包括以下步骤:
S101:针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为使APP页面的第一帧对用户可见的操作。
本发明实施例中,Activity对应的预定创建函数为:第一onCreate函数,ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数。
在实际应用中,可以将Activity的创建阶段所需调用的各种函数,设置于第一onCreate函数中,这样,当第一onCreate函数被调用后,设置于第一onCreate函数中的函数也相应被调用;而ViewGroup的创建阶段所需调用的各种函数,可以部分设置在第二onCreate函数中,部分设置在onCreateView函数中,这样,当第二onCreate函数或onCreateView函数被调用后,第二onCreate函数或onCreateView函数中所设置的函数也相应的被调用。
本发明实施例中,各个预定创建函数的命名,可以与现有技术中各个处理阶段所需调用的函数的命名相同。举例而言,第一onCreate函数和第二onCreate函数的命名均可以为onCreate;onCreateView函数的命名可以为onCreateView。但是,预定创建函数的具体内容,不同于现有技术中组件的创建阶段所需调用的函数的具体内容,同时,后续提及的目标处理阶段所需调用的函数的具体内容,也不同于现有技术中组件的目标处理阶段所需调用的函数的具体内容。
可以理解的是,对于APP页面的Activity而言,可以在创建阶段仅仅执行使所述APP页面的第一帧对用户可见的操作;或者,对于ViewGroup而言,可以在创建阶段仅仅执行使所述APP页面的第一帧对用户可见的操作;或者,对于Activity和ViewGroup而言,均可以在创建阶段仅仅执行使所述APP页面的第一帧对用户可见的操作。
另外,使APP页面的第一帧对用户可见的操作也可以存在多种,示例性的,在一种实现方式中,使APP页面的第一帧对用户可见的操作,可以包括:
加载布局文件和初始化视图。
可以理解的是,在执行了预定创建函数后,APP页面的第一帧已经展示给用户,对于用户而言,完成了APP页面的响应。而除预定创建函数所实现的初始化操作以外的各个初始化操作,可以在S102中执行。
S102:在该组件的除创建阶段以外的每一处理阶段,通过该组件对应的、用于该处理阶段的预定处理函数,处理该组件。
其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
本发明实施例中,预定回调函数可以为APP开发者所自定义的回调函数,预定回调函数与安卓操作系统原有的回调函数一起,实现了对组件的生命周期的扩展。以Activity举例而言,Activity的生命周期可以包括以下回调函数:
(1)onCreate:表示Activity正在被创建,这是Activity的生命周期的第一个回调函数;
(2)onStart:表示Activity正在被启动,但用户还无法与其交互;
(3)onResume:表示Activity在已经可见,且用户可与其交互;
(4)onPause:表示Activity正在停止;
(5)onStop:表示Activity即将停止;
(6)onRestart:表示Activity正在重新启动。
(7)onDestory:表示Activity即将被销毁,这是Activity的生命周期的最后一个回调函数。
可以理解的是,Activity的生命周期所包含的回调函数,并不限于上述所给出的7个回调函数。
另外,扩展后的生命周期中,各个回调函数可以用于划分组件的生命周期的各个处理阶段,在每个回调函数所对应的处理阶段中,还可以包括若干个子阶段。因此,本发明实施例中,组件的创建阶段或除创建以外的每个处理阶段,既可以为回调函数所对应的处理阶段,也可以为回调函数所对应的处理阶段中的子阶段。
可以理解的是,在APP页面的组件被创建完成后,除预定创建函数所实现的初始化操作以外,还可以包括一些其他的初始化操作,例如对APP内外部的数据解析操作,参数配置操作等。这些其他的初始化操作,与向用户展示APP页面的第一帧无关,本发明实施例中,为了提高响应速度,可以延后到向用户展示APP页面的第一帧后的目标处理阶段中执行。而将这些其他的初始化操作,延后到目标处理阶段中执行的实现方式,可以为:将这些其他的初始化操作,设置在目标处理阶段中的预定回调函数中实现。
为了方案清楚及布局清晰,下面分别对组件包括Activity和ViewGroup时,目标处理阶段所对应操作的操作函数以及预定回调函数,进行示例性的说明。
示例性的,针对Activity,所述至少一个目标处理阶段可以包括:Activity的焦点获取阶段。相应的,Activity的焦点获取阶段所对应的预定处理函数中的内容可以包括获得Activity的焦点的操作函数和预定回调函数。
其中,获得Activity的焦点的操作函数,可以包括安卓操作系统的window.onfocus函数。在实际应用中,可以将预定回调函数,插入在window.onfocus函数中,这样,window.onfocus函数被调用后,预定回调函数就可以相应被调用。
示例性的,针对ViewGroup,所述至少一个目标处理阶段可以包括:ViewGroup的子组件的绘制阶段。相应的,ViewGroup的子组件的绘制阶段所对应的预定处理函数中的内容,可以包括实现绘制ViewGroup的子组件的各个操作函数和预定回调函数。
其中,实现绘制ViewGroup的子组件的各个操作函数存在多种,示例性的,在一种实现方式中,实现绘制ViewGroup的子组件的各个操作函数,可以包括:安卓操作系统的dispatchDraw函数和drawChild函数。其中,dispatchDraw函数为开启对ViewGroup的子组件执行绘制的函数;drawChild函数,为对ViewGroup的子组件执行绘制的函数;预定回调函数被调用的时机,位于dispatchDraw函数和所述drawChild函数被调用的时机之间。
在实际应用中,drawChild函数嵌在dispatchDraw函数中,预定回调函数,也可以插入到dispatchDraw函数中,并且排在drawChild函数之前。这样,当dispatchDraw函数被调用后,预定回调函数被调用,drawChild函数随后也被调用。
以上,为分别针对组件包括Activity和ViewGroup时,目标处理阶段所对应操作的操作函数以及预定回调函数的示例性说明。
需要说明的是,上述实施例中,预定回调函数可以是一个回调函数,也可以是一组回调函数。当预定回调函数为一个回调函数时,可以将除预定创建函数所实现的初始化操作以外的各个初始化操作,均设置在该预定回调函数实现;而当预定回调函数为一组回调函数时,可以将除预定创建函数所实现的初始化操作以外的各个初始化操作,拆分给不同的预定回调函数来实现。
另外,由于预定回调函数是自定义的回调函数,因此,预定回调函数可用于实现多种操作,并不局限于除预定创建函数所实现的初始化操作以外的各个初始化操作。在预定回调函数中实现不同的操作,可以相应产生不同的效果,除本发明提出的在预定回调函数中所实现的操作外,本发明对在预定回调函数中可以实现的其他操作不做限定。
为了方案清楚,下面对组件从创建阶段到目标处理阶段的各个处理阶段的执行顺序进行示例性的说明。如图2所示,图2(a)为ViewGroup从创建阶段到目标处理阶段的各个处理阶段的执行顺序示意图;图2(b)为Activity从创建阶段到目标处理阶段的各个处理阶段的执行顺序示意图。图2(a)中:创建(create),对应ViewGroup的创建阶段;绘制(draw)对应ViewGroup的绘制阶段,也是ViewGroup的目标处理阶段;测量(measure)和布局(layout)为ViewGroup的创建阶段和目标处理阶段之间的两个处理阶段。图2(b)中:正在创建(onCreate)对应Activity的创建阶段;获取焦点(windowfocused),对应Activity的焦点获取阶段,也是Activity的目标处理阶段;正在启动(onStart)和已经启动可交互(onResume),为Activity的创建阶段和目标处理阶段之间的两个处理阶段。其中,onCreate、onStart和onResume均为Activity的生命周期中的不同处理阶段所分别对应的回调函数。
另外,从图2(a)和图2(b)中还可以看到,预定回调函数被调用的时机,位于Activity焦点获取阶段和ViewGroup的绘制阶段。
可以理解的是,本发明实施例中,对APP页面的组件所进行处理的各个处理阶段中,除了组件的创建阶段以及目标处理阶段之外,其余处理阶段对组件的处理方式,与现有技术相同,本发明在此不做赘述。
本发明实施例提供的APP页面的处理方法中,在APP页面的组件的创建阶段,通过调用APP页面的程序代码中的预定创建函数,执行关于组件的初始化操作;其中,预定创建函数所实现的初始化操作为使APP页面的第一帧对用户可见的操作;在组件的除创建阶段以外的每一处理阶段,通过调用与组件对应的、用于该处理阶段的预定处理函数,处理组件。其中,在组件的除创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于目标处理阶段的预定处理函数包括:实现目标处理阶段所对应操作的操作函数以及预定回调函数,预定回调函数用于实现:除使APP页面的第一帧对用户可见的操作以外的各个初始化操作。可见,由于与APP页面的第一帧显示无关的初始化操作,在创建阶段以外的目标处理阶段中实现,而创建阶段所能够实现的操作,仅仅是与第一帧显示相关的初始化操作。这样,在创建阶段,即页面响应过程中,可以省去执行其他初始化操作所消耗的时间。因此,相对于现有方法,可以进一步提升APP页面的响应速度。
相应于上述的APP页面的处理方法,本发明还提供了一种APP页面的处理装置,如图3所示,本发明提供的一种APP页面的处理装置,可以包括:
组件初始化模块301,用于针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,预定创建函数所实现的初始化操作为:使APP页面的第一帧对用户可见的操作;Activity对应的预定创建函数为:第一onCreate函数,ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
组件处理模块302,用于在该组件的除创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;其中,该组件的除创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于目标处理阶段的预定处理函数包括:实现目标处理阶段所对应操作的操作函数以及预定回调函数,预定回调函数用于实现:除使APP页面的第一帧对用户可见的操作以外的各个初始化操作。
可选地,针对Activity,所述至少一个目标处理阶段包括:Activity的焦点获取阶段。
在实际应用中,可以将Activity的创建阶段所需调用的各种函数,设置于第一onCreate函数中,这样,当第一onCreate函数被调用后,设置于第一onCreate函数中的函数也相应被调用;而ViewGroup的创建阶段所需调用的各种函数,可以部分设置在第二onCreate函数中,部分设置在onCreateView函数中,这样,当第二onCreate函数或onCreateView函数被调用后,第二onCreate函数或onCreateView函数中所设置的函数也相应的被调用。
本发明实施例中,各个预定创建函数的命名,可以与现有技术中各个处理阶段所需调用的函数的命名相同。举例而言,第一onCreate函数和第二onCreate函数的命名均可以为onCreate;onCreateView函数的命名可以为onCreateView。但是,预定创建函数的具体内容,不同于现有技术中组件的创建阶段所需调用的函数的具体内容,同时,后续提及的目标处理阶段所需调用的函数的具体内容,也不同于现有技术中组件的目标处理阶段所需调用的函数的具体内容。
可以理解的是,对于APP页面的Activity而言,可以在创建阶段仅仅执行使APP页面的第一帧对用户可见的操作;或者,对于ViewGroup而言,可以在创建阶段仅仅执行使APP页面的第一帧对用户可见的操作;或者,对于Activity和ViewGroup而言,均可以在创建阶段仅仅执行使APP页面的第一帧对用户可见的操作。
可选地,在一种实现方式中,针对ViewGroup,所述至少一个目标处理阶段包括:ViewGroup的子组件的绘制阶段。
可选地,在一种实现方式中,针对Activity,用于实现目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
可选地,在一种实现方式中,针对ViewGroup,用于实现目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
预定回调函数被调用的时机,位于dispatchDraw函数和drawChild函数被调用的时机之间。
可选地,在一种实现方式中,使APP页面的第一帧对用户可见的操作,可以包括:
加载布局文件和初始化视图。
本发明实施例提供的APP页面的处理装置,在APP页面的组件的创建阶段,通过调用APP页面的程序代码中的预定创建函数,执行关于组件的初始化操作;其中,预定创建函数所实现的初始化操作为使APP页面的第一帧对用户可见的操作;在组件的除创建阶段以外的每一处理阶段,通过调用与组件对应的、用于该处理阶段的预定处理函数,处理组件。其中,在组件的除创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于目标处理阶段的预定处理函数包括:实现目标处理阶段所对应操作的操作函数以及预定回调函数,预定回调函数用于实现:除使APP页面的第一帧对用户可见的操作以外的各个初始化操作。可见,由于与APP页面的第一帧显示无关的初始化操作,在创建阶段以外的目标处理阶段中实现,而创建阶段所能够实现的操作,仅仅是与第一帧显示相关的初始化操作。这样,在创建阶段,即页面响应过程中,可以省去执行其他初始化操作所消耗的时间,提升APP页面的响应速度。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器404和通信总线404,其中,处理器401,通信接口402,存储器404通过通信总线404完成相互间的通信,
存储器404,用于存放计算机程序;
处理器401,用于执行存储器404上所存放的程序时,实现如下步骤:
针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为:使所述APP页面的第一帧对用户可见的操作;所述Activity对应的预定创建函数为:第一onCreate函数,所述ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
在该组件的除所述创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;
其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
可选地,针对所述Activity,所述至少一个目标处理阶段包括:所述Activity的焦点获取阶段。
可选地,针对所述ViewGroup,所述至少一个目标处理阶段包括:所述ViewGroup的子组件的绘制阶段。
可选地,针对所述Activity,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
可选地,针对所述ViewGroup,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
所述预定回调函数被调用的时机,位于所述dispatchDraw函数和所述drawChild函数被调用的时机之间。
可选地,所述使所述APP页面的第一帧对用户可见的操作,包括:
加载布局文件和初始化视图。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的APP页面的处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的APP页面的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种APP页面的处理方法,其特征在于,包括:
针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为:使所述APP页面的第一帧对用户可见的操作,所述使所述APP页面的第一帧对用户可见的操作,包括:加载布局文件和初始化视图;所述Activity对应的预定创建函数为:第一onCreate函数,所述ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
在该组件的除所述创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;
其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
2.根据权利要求1所述的方法,其特征在于,针对所述Activity,所述至少一个目标处理阶段包括:所述Activity的焦点获取阶段。
3.根据权利要求1所述的方法,其特征在于,针对所述ViewGroup,所述至少一个目标处理阶段包括:所述ViewGroup的子组件的绘制阶段。
4.根据权利要求2所述的方法,其特征在于,针对所述Activity,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
5.根据权利要求3所述的方法,其特征在于,针对所述ViewGroup,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
所述预定回调函数被调用的时机,位于所述dispatchDraw函数和所述drawChild函数被调用的时机之间。
6.一种APP页面的处理装置,其特征在于,包括:
组件初始化模块,用于针对APP页面的活动组件Activity和视图容器组件ViewGroup中的每一组件,在该组件的创建阶段,通过调用该组件对应的预定创建函数,执行关于该组件的初始化操作;其中,所述预定创建函数所实现的初始化操作为:使所述APP页面的第一帧对用户可见的操作,所述使所述APP页面的第一帧对用户可见的操作,包括:加载布局文件和初始化视图;所述Activity对应的预定创建函数为:第一onCreate函数,所述ViewGroup对应的预定创建函数为:第二onCreate函数和onCreateView函数;
组件处理模块,用于在该组件的除所述创建阶段以外的每一处理阶段,通过调用该组件对应的、用于该处理阶段的预定处理函数,处理该组件;其中,该组件的除所述创建阶段以外的各个处理阶段中,存在至少一个目标处理阶段,用于所述目标处理阶段的预定处理函数包括:实现所述目标处理阶段所对应操作的操作函数以及预定回调函数,所述预定回调函数用于实现:除使所述APP页面的第一帧对用户可见的操作以外的各个初始化操作。
7.根据权利要求6所述的装置,其特征在于,针对所述Activity,所述至少一个目标处理阶段包括:所述Activity的焦点获取阶段。
8.根据权利要求6所述的装置,其特征在于,针对所述ViewGroup,所述至少一个目标处理阶段包括:所述ViewGroup的子组件的绘制阶段。
9.根据权利要求7所述的装置,其特征在于,针对所述Activity,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的window.onfocus函数。
10.根据权利要求8所述的装置,其特征在于,针对所述ViewGroup,所述用于实现所述目标处理阶段所对应操作的操作函数,包括:
安卓操作系统的dispatchDraw函数和drawChild函数;
所述预定回调函数被调用的时机,位于所述dispatchDraw函数和所述drawChild函数被调用的时机之间。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201910345229.1A 2019-04-26 2019-04-26 一种app页面的处理方法及装置 Active CN110083355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910345229.1A CN110083355B (zh) 2019-04-26 2019-04-26 一种app页面的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910345229.1A CN110083355B (zh) 2019-04-26 2019-04-26 一种app页面的处理方法及装置

Publications (2)

Publication Number Publication Date
CN110083355A CN110083355A (zh) 2019-08-02
CN110083355B true CN110083355B (zh) 2023-07-25

Family

ID=67417108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910345229.1A Active CN110083355B (zh) 2019-04-26 2019-04-26 一种app页面的处理方法及装置

Country Status (1)

Country Link
CN (1) CN110083355B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487324A (zh) * 2020-10-28 2021-03-12 贝壳技术有限公司 页面生成方法、装置、电子介质及存储介质
CN113365150B (zh) * 2021-06-04 2023-02-07 上海哔哩哔哩科技有限公司 视频处理方法和视频处理装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058936A1 (zh) * 2010-11-02 2012-05-10 深圳市融创天下科技股份有限公司 一种界面控件树的创建和绘制的方法、系统及移动终端
CN105446755A (zh) * 2014-08-06 2016-03-30 阿里巴巴集团控股有限公司 一种用于Android系统上快速加载Activity数据的方法和装置
CN106557319A (zh) * 2016-11-17 2017-04-05 腾讯科技(深圳)有限公司 负一屏加载对象的方法和装置
CN106598375A (zh) * 2015-10-16 2017-04-26 深圳创锐思科技有限公司 智能终端应用内容呈现的方法、装置及智能终端
CN106874764A (zh) * 2017-01-16 2017-06-20 南开大学 一种基于回调函数建模自动生成Android应用回调序列的方法
CN108829391A (zh) * 2018-05-04 2018-11-16 武汉极意网络科技有限公司 一种Fragment中控件识别方法及系统
CN109298995A (zh) * 2017-07-24 2019-02-01 北京搜狗科技发展有限公司 一种性能测试方法、装置、电子设备以及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058936A1 (zh) * 2010-11-02 2012-05-10 深圳市融创天下科技股份有限公司 一种界面控件树的创建和绘制的方法、系统及移动终端
CN105446755A (zh) * 2014-08-06 2016-03-30 阿里巴巴集团控股有限公司 一种用于Android系统上快速加载Activity数据的方法和装置
CN106598375A (zh) * 2015-10-16 2017-04-26 深圳创锐思科技有限公司 智能终端应用内容呈现的方法、装置及智能终端
CN106557319A (zh) * 2016-11-17 2017-04-05 腾讯科技(深圳)有限公司 负一屏加载对象的方法和装置
CN106874764A (zh) * 2017-01-16 2017-06-20 南开大学 一种基于回调函数建模自动生成Android应用回调序列的方法
CN109298995A (zh) * 2017-07-24 2019-02-01 北京搜狗科技发展有限公司 一种性能测试方法、装置、电子设备以及存储介质
CN108829391A (zh) * 2018-05-04 2018-11-16 武汉极意网络科技有限公司 一种Fragment中控件识别方法及系统

Also Published As

Publication number Publication date
CN110083355A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN107832099B (zh) 一种客户端版本兼容的方法、装置及存储介质
CN111639287A (zh) 一种页面处理方法、装置、终端设备及可读存储介质
CN111427596B (zh) 一种软件升级的方法、装置及终端设备
CN108647032B (zh) 应用加载方法及装置、计算机装置和计算机可读存储介质
CN107479868B (zh) 一种界面加载方法、装置及设备
CN110083355B (zh) 一种app页面的处理方法及装置
US20140289761A1 (en) Systems and Methods of Processing Data Involving Presentation of Information on Android Devices
RU2639667C2 (ru) Контекстное приглашение в пробной версии приложения
CN113778391A (zh) 原生应用程序的页面处理方法、装置及设备
CN112084488A (zh) 应用权限管理方法、装置及系统
CN110113391B (zh) 一种客户端上线方法、装置及一种客户端运行方法、装置
CN111444453A (zh) 页面回传数据处理方法及其装置
CN104063247A (zh) 一种应用程序的调用方法和系统
CN109032693B (zh) 一种加载展示信息方法、装置、电子设备及可读存储介质
CN109725887B (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN112148395A (zh) 页面显示方法、装置、设备及存储介质
CN103488508A (zh) 一种浏览器的工作方法、浏览器及终端设备
CN108037914B (zh) 一种安卓原生系统结合js开发的方法及装置
CN111880990A (zh) 一种异常处理方法及装置
CN112286414A (zh) 信息显示方法、装置、电子设备及存储介质
CN109981873B (zh) 一种通讯录权限开启方法、装置及电子设备
CN108268298B (zh) 桌面图标的生成方法、装置、存储介质及电子设备
CN111046308A (zh) 一种页面加载方法及装置
CN109331469A (zh) 一种基于编程语言录入关卡信息的方法以及电子设备
EP3848800B1 (en) Method and apparatus for displaying message box, terminal and storage medium

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