CN108829469B - 一种应用程序页面展示方法及装置 - Google Patents
一种应用程序页面展示方法及装置 Download PDFInfo
- Publication number
- CN108829469B CN108829469B CN201810350669.1A CN201810350669A CN108829469B CN 108829469 B CN108829469 B CN 108829469B CN 201810350669 A CN201810350669 A CN 201810350669A CN 108829469 B CN108829469 B CN 108829469B
- Authority
- CN
- China
- Prior art keywords
- logic
- execution
- configuration file
- priority
- 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
Images
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/451—Execution arrangements for user interfaces
-
- 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
- G06F9/4451—User profiles; Roaming
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序页面展示方法及装置,属于终端技术领域。所述方法包括:接收应用程序的启动指令;读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。本发明通过为应用程序页面的不同业务逻辑设置不同的执行优先级,形成不同的优先级顺序,在展示页面时,依次执行各个不同优先级的业务逻辑,从而保证了优先级高的业务逻辑优先执行,优先级低的业务逻辑依次延迟执行,避免了业务逻辑并行执行导致的资源占用及无序,提高了页面加载展示的流畅性。
Description
技术领域
本发明属于终端技术领域,特别是涉及一种应用程序页面展示方法及装置。
背景技术
随着移动应用技术的发展进步,各类App中的功能不再单一,越来越丰富,比如在社交聊天App中集成了购物、听音乐、看视频等功能。
然而,App中功能的增多会导致应用在使用过程加载更多的内容,会消耗终端大量的CPU或IO资源,导致App页面加载的卡顿,尤其在启动过程中,初始化时加载内容较多,页面卡顿更为显著,降低了用户的使用兴趣及体验感受,造成用户量的流失。
发明内容
本发明提供一种应用程序页面展示方法及装置,以便解决App使用过程中页面卡顿的问题。
依据本发明的第一方面,提供了一种应用程序页面展示方法,该方法包括:
接收应用程序的启动指令;
读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。
可选的,所述展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑,包括:
通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面;
在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑。
可选的,所述按照各个所述延时时长执行对应的所述业务逻辑,包括:
所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。
可选的,所述按照各个所述延时时长执行对应的所述业务逻辑,包括:
在应用程序主线程中按照所述延时时长执行前台执行逻辑;
在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
可选的,所述方法还包括:
动态更新所述优先级配置文件;
根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级。
可选的,所述动态调整所述业务逻辑的执行优先级,包括:
统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
计算所述执行时间和所述实际应用时间的时间差;
将所述时间差上传到后台服务器;
根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
接收所述动态配置文件;
将所述优先级配置文件替换为所述动态配置文件;或
将所述优先级配置文件与所述动态配置文件合并。
依据本发明的第二方面,提供了一种应用程序页面展示装置,所述装置包括:
指令接收模块,用于接收应用程序的启动指令;
配置文件读取模块,用于读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
延时分配模块,用于根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
页面展示模块,用于展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。
可选的,所述页面展示模块包括:
第一逻辑执行模块,用于通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面;
第二逻辑执行模块,用于在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑。
可选的,所述第二逻辑执行模块,包括:
函数执行子模块,用于所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。
可选的,所述第二逻辑执行模块,包括:
主线程模块,用于在应用程序主线程中按照所述延时时长执行前台执行逻辑;
后台管理线程模块,用于在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
可选的,所述装置还包括:
优先级配置文件更新模块,用于动态更新所述优先级配置文件;
动态调整模块,根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级。
可选的,所述优先级配置文件更新模块,包括:
统计收集子模块,用于统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
计算子模块,用于计算所述执行时间和所述实际应用时间的时间差;
上传子模块,用于将所述时间差上传到后台服务器;
生成子模块,用于根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
接收子模块,用于接收所述动态配置文件;
替换子模块,用于将所述优先级配置文件替换为所述动态配置文件;或
合并子模块,用于将所述优先级配置文件与所述动态配置文件合并。
针对在先技术,本发明具备如下优点:
本发明提供的应用程序页面展示方法及装置,通过为应用程序页面的不同业务逻辑设置不同的执行优先级,形成不同业务逻辑执行的优先级顺序,在展示页面时,按照延时时长依次执行各个不同优先级的业务逻辑,从而保证了优先级高的业务逻辑优先执行,优先级低的业务逻辑依次延迟执行,避免了业务逻辑并行执行导致的资源占用及无序,提高了页面加载展示的流畅性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例一提供的应用程序页面展示方法的流程图;
图2是本发明实施例二提供的应用程序页面展示方法的流程图;
图3是本发明实施例三提供的应用程序页面展示装置的模块图;
图4是本发明实施例四提供的应用程序页面展示装置的模块图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
图1是本发明实施例一提供的一种应用程序页面展示方法的步骤流程图,应用于移动终端,如图1所示,该方法可以包括:
步骤101、接收应用程序的启动指令。
本发明实施例中的启动指令可以是监测到的用户对于目标应用程序的点击启动行为,也可以是监测到的其他应用程序对目标应用程序的调用行为,比如:用户在使用视频App时通过点击广告链接调用启动了购物App。该启动指令中还包含有优先级配置文件的解压安装后的存储路径信息,因而,当用户使用App时,通过该启动指令,应用程序可根据存储路径信息访问优先级配置文件。
步骤102、读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级。
本发明实施例中,当接收到启动指令之后,应用程序开始根据启动指令去读取预置的优先级配置文件,该优先级配置文件包括每个业务逻辑的执行优先级。开发人员预先根据不同业务逻辑的重要性高低,为各个业务逻辑分配相应的执行优先级,形成配置文件,打包在应用程序的安装包中。具体而言,在页面展示过程中,至少涉及有基本页面逻辑与业务逻辑,基本页面逻辑是指负责页面基本框架与元素加载的程序逻辑,业务逻辑是指与用户操作的业务密切相关的程序逻辑(比如:用户使用视频App观看视频的过程中,判断视频库中是否存在需要的视频资源、加载视频资源等行为是业务逻辑,而页面组成元素的调用加载等行为就是业务逻辑之外的基本页面逻辑)。
为每个业务逻辑分配相应的执行优先级时,可参考如下策略配置优先级:对于红点标示的通知提醒逻辑可认为比较重要,为其分配第一优先级;皮肤包表情包下载逻辑重要性较弱,为其分配第二优先级。另外一种优先级配置策略为:用户使用播放记录相应的逻辑可能比较早,相对比较重要,所以页面展现后需要立即执行,以便及时提示用户继续观看视频,可为其分配第一优先级;对于上传崩溃日志等信息对应的逻辑,因为用户感知不到又比较占用网络和IO,重要性较弱,可为其分配第二优先级。依照上述示例,按照各个业务逻辑的重要性高低,为重要性高的业务逻辑分配高优先级,为重要性低的业务逻辑分配低优先级,当然各个业务逻辑重要性的高低,由厂商基于页面展示的具体需求以及用户的使用体验等综合判断,本发明对此不做限制。
步骤103、根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长。
本发明实施例中,由于优先级配置文件中包含有每个业务逻辑的执行优先级,可依照每个业务逻辑各自执行优先级的高低为其分配相应的延时时长。比如:业务逻辑A的重要性最高,其执行优先级为第一优先级,那么为其分配0s的延时时长,即不延时,立即执行;业务逻辑B的重要性较高,其执行优先级为第二优先级,那么为其分配2s的延时时长,即延时2s执行,依次为每个业务逻辑分配相应的延时,从而后续可按照重要性高低次序依次执行各个业务逻辑,避免业务逻辑并行执行导致的资源占用及无序。
步骤104、展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。
本发明实施例中,在按照优先级配置文件,为各个业务逻辑分配了延时时长后,通过执行应用程序中与页面UI相关的最基础的逻辑,初步展示应用程序的页面,然后按照相应的延时时长逐个执行对应的业务逻辑,从而保证业务逻辑执行的有序性,降低CPU的负载与IO的占用,提高页面加载展示的流畅性。
综上所述,本发明实施例一提供的应用程序页面展示方法,通过为应用程序页面的不同业务逻辑设置不同的执行优先级,形成不同业务逻辑执行的优先级顺序,在展示页面时,按照延时时长依次执行各个不同优先级的业务逻辑,从而保证优先级高的业务逻辑优先执行,优先级低的业务逻辑依次延迟执行,避免业务逻辑并行执行导致的资源占用及无序,提高了页面加载展示的流畅性。
实施例二
图2是本发明实施例二提供的另一种应用程序页面展示方法的步骤流程图,应用于移动终端,如图2所示,该方法可以包括:
步骤201、接收应用程序的启动指令。
本发明实施例中的启动指令可以是监测到的用户对于目标应用程序的点击启动行为,也可以是监测到的其他应用程序对目标应用程序的调用行为,比如:用户在使用视频App时通过点击广告链接调用启动了购物App。该启动指令中还包含有优先级配置文件的解压安装后的存储路径信息,因而,当用户使用App时,通过该启动指令,应用程序可根据存储路径信息访问优先级配置文件。
步骤202、读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级。
本发明实施例中,当接收到启动指令之后,应用程序开始根据启动指令去读取预置的优先级配置文件,该优先级配置文件包括每个业务逻辑的执行优先级。开发人员预先根据不同业务逻辑的重要性高低,为各个业务逻辑分配相应的执行优先级,形成配置文件,打包在应用程序的安装包中。具体而言,在页面展示过程中,至少涉及有基本页面逻辑与业务逻辑,基本页面逻辑是指负责页面基本框架与元素加载的程序逻辑,业务逻辑是指与用户操作的业务密切相关的程序逻辑(比如:用户使用视频App观看视频的过程中,判断视频库中是否存在需要的视频资源、加载视频资源等行为是业务逻辑,而页面组成元素的调用加载等行为就是业务逻辑之外的基本页面逻辑)。
为每个业务逻辑分配相应的执行优先级时,可参考如下策略配置优先级:对于红点标示的通知提醒逻辑可认为比较重要,为其分配第一优先级;皮肤包表情包下载逻辑重要性较弱,为其分配第二优先级。另外一种优先级配置策略为:用户使用播放记录相应的逻辑可能比较早,相对比较重要,所以页面展现后需要立即执行,以便及时提示用户继续观看视频,可为其分配第一优先级;对于上传崩溃日志等信息对应的逻辑,因为用户感知不到又比较占用网络和IO,重要性较弱,可为其分配第二优先级。依照上述示例,按照各个业务逻辑的重要性高低,为重要性高的业务逻辑分配高优先级,为重要性低的业务逻辑分配低优先级,当然各个业务逻辑重要性的高低,由厂商基于页面展示的具体需求以及用户的使用体验等综合判断,本发明对此不做限制。
步骤203、根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长。
本发明实施例中,由于优先级配置文件中包含有每个业务逻辑的执行优先级,可依照每个业务逻辑各自执行优先级的高低为其分配相应的延时时长。比如:业务逻辑A的重要性最高,其执行优先级为第一优先级,那么为其分配0s的延时时长,即不延时,立即执行;业务逻辑B的重要性较高,其执行优先级为第二优先级,那么为其分配2s的延时时长,即延时2s执行,依次为每个业务逻辑分配相应的延时,从而后续可按照重要性高低次序依次执行各个业务逻辑,避免业务逻辑并行执行导致的资源占用及无序。
步骤204、通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面。
本发明实施例中,应用程序本身提供有丰富的数据通讯接口,比如通过与首屏页面相关的接口,执行业务逻辑以外的基本页面逻辑来读取调用页面显示必备的UI元素等资源,以实现页面的初步加载,初步展示页面。
步骤205、在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑。
当执行了其他逻辑初步加载显示了页面之后,则按照前述为各个业务逻辑分配的延时时长,依次执行对应的各个业务逻辑。比如:业务逻辑A、B、C、D的延时时长分别为0s、2s、4s、6s,则以页面展示的时间为基准,页面展示的同时执行业务逻辑A,延时2s后执行业务逻辑B,延时4s后执行业务逻辑C,延时6s后执行业务逻辑D。具体而言,可参照下述格式实现对各个业务逻辑的调用:
其中,“……”表示即将调用执行的各个业务逻辑对应的业务函数,各个业务函数按照一定的延时时长依次执行。当然,本实施例的延时时长仅作为示例,本发明对实际所设置的延时时长不做限制。
对于步骤205的具体实现,如步骤2051或步骤2052至步骤2053所述。
步骤2051、所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。
本发明实施例中,基于MVP模式(Model-View-Presenter,Model,本地数据的读取,存储,网络,数据库等相关的操作;View,UI的展示,UI的界面的更新,入户输入的获取;Presenter,业务逻辑放这里,调度View和Model,去实现业务逻辑)预先将业务逻辑抽离出来统一放置在Presenter中,应用程序中的各个业务逻辑由相应的业务函数单独表达,即业务函数都位于Presenter中,业务函数之间的独立性确保了业务逻辑彼此的弱关联性,有助于为各个业务逻辑单独分配对应的延时时长,更方便业务逻辑的调用管理。由应用程序中页面对应的线程按照各个延时时长执行各个业务函数,实现各个业务逻辑的有序执行,提升页面加载的流畅性。
步骤2052、在应用程序主线程中按照所述延时时长执行前台执行逻辑;
步骤2053、在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
本发明实施例中,应用程序本身是多线程运行的工作模式,其至少具备应用程序主线程和后台管理线程,通过应用程序主线程按照延时时长执行前台执行逻辑,通过后台管理线程按照延时时长执行后台执行逻辑。其中前台执行逻辑和后台执行逻辑为对业务逻辑预先进行的分类。前台执行逻辑主要包含UI通信以及需要避免多线程混乱问题的逻辑,后台逻辑包含IO操作、网络操作等异步操作逻辑,特别是与IO相关的逻辑需要通过后台管理线程执行。如此以来,通过将业务逻辑划分为前台执行逻辑与后台执行逻辑,分别由不同的线程管理执行,避免了业务逻辑执行过程中的互相干扰。
步骤206、动态更新所述优先级配置文件。
本发明实施例中,在步骤205之后还可以根据历次页面展示过程所积累的数据动态地更新预置的优先级配置文件,以进一步的优化各个业务逻辑的执行先后次序,提升页面加载显示效率。更新的策略如步骤2061至步骤2065所述。
步骤2061、统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
步骤2062、计算所述执行时间和所述实际应用时间的时间差;
步骤2063、将所述时间差上传到后台服务器;
步骤2064、根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
步骤2065、接收所述动态配置文件;
步骤2066、将所述优先级配置文件替换为所述动态配置文件;或
步骤2067、将所述优先级配置文件与所述动态配置文件合并。
每个具体的业务所对应的业务逻辑有相应的执行时间和实际应用时间,比如:在视频App中,用户需要在弹幕中发表情包,下载表情包的时间是该业务逻辑的执行时间,用户用到表情包的时间是该业务逻辑的实际应用时间,每个业务逻辑的执行时间与实际应用时间并不一定相同,其他的业务逻辑同样如此。因此统计收集每个所述业务逻辑的执行时间及其对应业务的实际应用时间,计算两者之间的时间差,可准确获知各个业务逻辑的执行时差。通过将该时间差上传至App对应的后台服务器,在后台服务器中生成新的动态配置文件,该动态配置文件是基于所上传的执行时差,按照执行时差由短到长的次序,依次为各个业务逻辑重新分配的延时时长的配置,该延时时长同样用来表征每个业务逻辑的执行优先级。在再次使用App时,终端便可接收该动态配置文件,直接使用该动态配置文件替换覆盖掉原始预置的优先级配置文件,或者将二者合并结合使用。当然,二者合并结合使用中可考虑两个文件重要性的差异,为两个赋予一定的权重比例,从而计算获的新的优先级,对于合并使用中具体采用何种算法规则,本发明对此不做限制。
步骤207、根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级。
无论是替换使用动态配置文件还是合并使用动态配置文件,在应用到动态配置文件时,原先预置的优先级配置文件便已经发生了更新,便可根据其中所包含的新的执行延时,重新分配各个业务逻辑的执行延时,对业务逻辑的执行优先级进行调整,以优化各个业务逻辑的执行次序,提升页面加载流畅性。
综上所述,本发明实施例二提供的应用程序页面展示方法,可以基于不同的线程分别执行前台和后台执行逻辑,并积累应用程序使用过程中页面加载的业务逻辑的时差数据,对预先设置的固定不变的执行优先级进行动态调整更新,保证了各个业务逻辑执行的相对独立性,避免了多线程执行业务逻辑的干扰混乱,提高了页面加载展示的流畅性。
实施例三
图3是本发明实施例三提供的一种应用程序页面展示装置的框图,如图3所示,该装置可以包括:
指令接收模块301,用于接收应用程序的启动指令;
配置文件读取模块302,用于读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
延时分配模块303,用于根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
页面展示模块304,用于展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。
综上所述,本发明实施例三提供的应用程序页面展示装置,通过为应用程序页面的不同业务逻辑设置不同的执行优先级,形成不同业务逻辑执行的优先级顺序,在展示页面时,按照延时时长依次执行各个不同优先级的业务逻辑,从而保证优先级高的业务逻辑优先执行,优先级低的业务逻辑依次延迟执行,避免业务逻辑并行执行导致的资源占用及无序,提高了页面加载展示的流畅性。
实施例四
图4是本发明实施例四提供的一种应用程序页面展示装置的框图,如图4所示,该装置可以包括:
指令接收模块401,用于接收应用程序的启动指令;
配置文件读取模块402,用于读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
延时分配模块403,用于根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
第一逻辑执行模块404,用于通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面;
第二逻辑执行模块405,用于在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑。
可选的,上述第二逻辑执行模块405,可以包括:
函数执行子模块4051,用于所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。或
主线程模块4052,用于在应用程序主线程中按照所述延时时长执行前台执行逻辑;
后台管理线程模块4053,用于在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
可选的,上述装置还包括:
优先级配置文件更新模块406,用于动态更新所述优先级配置文件;
动态调整模块407,根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级。
可选的,上述优先级配置文件更新模块406,包括:
统计收集子模块4061,用于统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
计算子模块4062,用于计算所述执行时间和所述实际应用时间的时间差;
上传子模块4063,用于将所述时间差上传到后台服务器;
生成子模块4064,用于根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
接收子模块4065,用于接收所述动态配置文件;
替换子模块4066,用于将所述优先级配置文件替换为所述动态配置文件;或
合并子模块4067,用于将所述优先级配置文件与所述动态配置文件合并。
综上所述,本发明实施例四提供的应用程序页面展示装置,主线程模块和后台管理线程模块可以分别执行前台和后台执行逻辑,优先级配置文件更新模块可以积累应用程序使用过程中页面加载的业务逻辑的时差数据,对预先设置的固定不变的执行优先级进行动态调整更新,保证了各个业务逻辑执行的相对独立性,避免了多线程执行业务逻辑的干扰混乱,提高了页面加载展示的流畅性。对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的应用程序页面展示方法不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序页面展示方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (8)
1.一种应用程序页面展示方法,其特征在于,所述方法包括:
接收应用程序的启动指令;
读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑;
所述方法还包括:
动态更新所述优先级配置文件;
根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级;
所述动态更新所述优先级配置文件,包括:
统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
计算所述执行时间和所述实际应用时间的时间差;
将所述时间差上传到后台服务器;
根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
接收所述动态配置文件;
将所述优先级配置文件替换为所述动态配置文件;或
将所述优先级配置文件与所述动态配置文件合并。
2.根据权利要求1所述的方法,其特征在于,所述展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑,包括:
通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面;
在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑。
3.根据权利要求2所述的方法,其特征在于,所述按照各个所述延时时长执行对应的所述业务逻辑,包括:
所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。
4.根据权利要求2所述的方法,其特征在于,所述按照各个所述延时时长执行对应的所述业务逻辑,包括:
在应用程序主线程中按照所述延时时长执行前台执行逻辑;
在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
5.一种应用程序页面展示装置,其特征在于,所述装置包括:
指令接收模块,用于接收应用程序的启动指令;
配置文件读取模块,用于读取预置的优先级配置文件,其中,所述优先级配置文件包括每个业务逻辑的执行优先级;
延时分配模块,用于根据所述优先级配置文件,为所述每个业务逻辑分配对应的延时时长;
页面展示模块,用于展示应用程序页面,按照各个所述延时时长执行对应的所述业务逻辑。
6.根据权利要求5所述的装置,其特征在于,所述页面展示模块包括:
第一逻辑执行模块,用于通过应用程序提供的接口,执行所述业务逻辑以外的基本页面逻辑以加载页面;
第二逻辑执行模块,用于在页面加载展示后,按照各个所述延时时长执行对应的所述业务逻辑;
所述装置还包括:
优先级配置文件更新模块,用于动态更新所述优先级配置文件;
动态调整模块,根据更新后的所述优先级配置文件,调整所述业务逻辑的执行优先级;
所述优先级配置文件更新模块,包括:
统计收集子模块,用于统计收集每个所述业务逻辑的执行时间,以及每个所述业务逻辑对应的业务的实际应用时间;
计算子模块,用于计算所述执行时间和所述实际应用时间的时间差;
上传子模块,用于将所述时间差上传到后台服务器;
生成子模块,用于根据所述时间差生成动态配置文件,其中,所述动态配置文件由后台服务器生成,所述动态配置文件包括每个所述业务逻辑对应的执行延时,所述执行延时表征每个所述业务逻辑的执行优先级;
接收子模块,用于接收所述动态配置文件;
替换子模块,用于将所述优先级配置文件替换为所述动态配置文件;或
合并子模块,用于将所述优先级配置文件与所述动态配置文件合并。
7.根据权利要求6所述的装置,其特征在于,所述第二逻辑执行模块,包括:
函数执行子模块,用于所述应用程序页面对应的线程按照各个所述延时时长执行各个业务函数,其中,一个业务函数对应一个延时时长,所述各个业务函数单独表达对应的业务逻辑,所述业务逻辑位于MVP模式构建的Presenter中。
8.根据权利要求6所述的装置,其特征在于,所述第二逻辑执行模块,包括:
主线程模块,用于在应用程序主线程中按照所述延时时长执行前台执行逻辑;
后台管理线程模块,用于在后台管理线程中按照所述延时时长执行后台执行逻辑;
其中,所述前台执行逻辑和所述后台执行逻辑为对所述业务逻辑预先进行的分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810350669.1A CN108829469B (zh) | 2018-04-18 | 2018-04-18 | 一种应用程序页面展示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810350669.1A CN108829469B (zh) | 2018-04-18 | 2018-04-18 | 一种应用程序页面展示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829469A CN108829469A (zh) | 2018-11-16 |
CN108829469B true CN108829469B (zh) | 2021-08-20 |
Family
ID=64154933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810350669.1A Active CN108829469B (zh) | 2018-04-18 | 2018-04-18 | 一种应用程序页面展示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829469B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634653B (zh) * | 2018-11-30 | 2023-08-01 | 苏州朗润创新知识产权运营有限公司 | 一种基于组件化架构的资源配置方法及装置 |
CN109800031A (zh) * | 2019-01-18 | 2019-05-24 | 广州虎牙信息科技有限公司 | 基于移动办公***的业务控制方法、服务器、终端及装置 |
CN109783159B (zh) * | 2019-01-24 | 2022-03-29 | 武汉瓯越网视有限公司 | 基于配置信息的应用启动方法和装置 |
CN110109759B (zh) * | 2019-05-07 | 2021-11-26 | Oppo广东移动通信有限公司 | 卡顿优化方法、服务器、电子装置及计算机可读存储介质 |
CN115827098A (zh) * | 2019-07-16 | 2023-03-21 | 创新先进技术有限公司 | 一种页面资源加载方法及*** |
CN111367570A (zh) * | 2020-02-19 | 2020-07-03 | 北京环境特性研究所 | 一种应用软件自启动方法及装置 |
CN113326422B (zh) * | 2020-02-28 | 2024-06-21 | 北京沃东天骏信息技术有限公司 | 一种信息获取方法、装置、设备及介质 |
CN112395034A (zh) * | 2020-11-23 | 2021-02-23 | 北京奇艺世纪科技有限公司 | 页面显示方法、装置、电子设备和存储介质 |
CN113282388A (zh) * | 2021-04-26 | 2021-08-20 | 惠州市德赛西威汽车电子股份有限公司 | 一种基于逻辑矩阵表全局调控业务逻辑的方法及车载*** |
CN116841686B (zh) * | 2023-08-29 | 2024-05-31 | 荣耀终端有限公司 | 一种应用页面的展示方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195679B1 (en) * | 1998-01-06 | 2001-02-27 | Netscape Communications Corporation | Browsing session recording playback and editing system for generating user defined paths and allowing users to mark the priority of items in the paths |
CN101996073B (zh) * | 2009-08-31 | 2014-02-05 | 阿里巴巴集团控股有限公司 | 一种组件渲染方法及装置 |
CN102707973B (zh) * | 2012-05-04 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 基于Android***的应用程序启动的方法和*** |
US9329761B2 (en) * | 2014-04-01 | 2016-05-03 | Microsoft Technology Licensing, Llc | Command user interface for displaying and scaling selectable controls and commands |
CN107133065B (zh) * | 2017-03-31 | 2020-10-30 | 北京奇艺世纪科技有限公司 | 一种开启软件功能的方法及装置 |
-
2018
- 2018-04-18 CN CN201810350669.1A patent/CN108829469B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108829469A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829469B (zh) | 一种应用程序页面展示方法及装置 | |
CN110162413B (zh) | 事件驱动方法及装置 | |
CN110727512A (zh) | 集群资源调度方法、装置、设备及储存介质 | |
CN112380020A (zh) | 一种算力资源分配方法、装置、设备及存储介质 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
US20170155596A1 (en) | Method And Electronic Device For Bandwidth Allocation | |
US10002166B2 (en) | Optimize follower and search relevancy ratio | |
CN105955807B (zh) | 一种任务处理***及方法 | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
CN112463375A (zh) | 一种数据处理的方法和装置 | |
CN106878042A (zh) | 基于sla的容器资源调度方法和*** | |
CN111026493B (zh) | 界面渲染的处理方法和装置 | |
CN109343862B (zh) | 应用的资源数据的调度方法及装置 | |
US9799048B2 (en) | Intelligent tool to support manual scheduling of ads | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及*** | |
CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
CN113204425B (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN110188297B (zh) | 资源信息展示方法、计算设备及计算机存储介质 | |
CN109634812B (zh) | Linux***的进程CPU占用率控制方法、终端设备及存储介质 | |
CN110730300A (zh) | 相机控制方法、装置、存储介质和终端 | |
CN110659125A (zh) | 一种分析任务执行方法、装置、***及电子设备 | |
CN112685158A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN112988806A (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 |