CN113132526A - 一种页面绘制方法及相关装置 - Google Patents

一种页面绘制方法及相关装置 Download PDF

Info

Publication number
CN113132526A
CN113132526A CN201911419974.2A CN201911419974A CN113132526A CN 113132526 A CN113132526 A CN 113132526A CN 201911419974 A CN201911419974 A CN 201911419974A CN 113132526 A CN113132526 A CN 113132526A
Authority
CN
China
Prior art keywords
page
sub
historical
newly added
incremental
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.)
Granted
Application number
CN201911419974.2A
Other languages
English (en)
Other versions
CN113132526B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911419974.2A priority Critical patent/CN113132526B/zh
Priority to PCT/CN2020/134271 priority patent/WO2021135838A1/zh
Publication of CN113132526A publication Critical patent/CN113132526A/zh
Application granted granted Critical
Publication of CN113132526B publication Critical patent/CN113132526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/445Program loading or initiating
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Image Generation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了一种页面绘制方法,包括:电子设备接收显示指令,显示指令用于指示电子设备显示第一应用程序页面中的基础页面;电子设备在第一刷新周期绘制预绘制页面,在第一应用程序页面中预绘制页面与基础页面相邻;电子设备在第二刷新周期显示基础页面,第二刷新周期是第一刷新周期的后一刷新周期;在电子设备接收滑动操作后,电子设备显示增量页面;滑动操作用于指示电子设备显示增量页面,第一应用程序页面包括增量页面,预绘制页面与增量页面有重叠。这样,能够提升页面流畅性。

Description

一种页面绘制方法及相关装置
技术领域
本申请涉及电子技术领域,尤其涉及一种页面绘制方法及相关装置。
背景技术
目前,手机上的应用界面越来越复杂,一个页面可以包含数十个控件,例如、购物商城应用程序(Application,APP)、手游APP等应用的界面。大量控件的布局和绘制,耗时长且CPU使用率高。绘制一帧图像可能耗时多达数百秒,远远超过了手机页面的刷新周期。即使绘制线程运行在大核中央处理器(central processing unit,CPU)上,可能仍需一百多毫秒才能绘制完成,导致“丢帧”现象,从而造成页面卡顿不流畅,影响用户体验。
发明内容
本申请实施例提供了一种页面绘制方法及相关装置,能够提高页面流畅性以及用户体验。
第一方面,本申请提供了一种页面绘制方法,应用在有显示界面的电子设备,包括:电子设备接收显示指令,显示指令用于指示电子设备显示第一应用程序页面中的基础页面;电子设备在第一刷新周期绘制预绘制页面,在第一应用程序页面中预绘制页面与基础页面相邻;电子设备在第二刷新周期显示基础页面,第二刷新周期是第一刷新周期的后一刷新周期;在电子设备接收滑动操作后,电子设备显示增量页面;滑动操作用于指示电子设备显示增量页面,第一应用程序页面包括增量页面。这样,由于预绘制页面预与增量页面有重叠,电子设备在第一刷新周期提前绘制预绘制页面,可以减少第二刷新周期增量页面的绘制时间,从而提高了页面流畅性以及用户体验。
在一种可能的实现方式中,预绘制页面与增量页面有重叠。
在一种可能的实现方式中,上述电子设备在第一刷新周期绘制预绘制页面,包括:当电子设备在第一刷新周期不绘制页面或者在第一刷新周期内绘制的基础页面的历史绘制时间小于第一时间阈值时,预测第二刷新周期是否绘制高负载页面;当预测第二刷新周期绘制高负载页面时,电子设备在第一刷新周期绘制预绘制页面。
在一种可能的实现方式中,上述电子设备在第一刷新周期绘制预绘制页面,包括:当电子设备在第一刷新周期不绘制页面,或者在第一刷新周期内绘制的基础页面的历史绘制时间小于第一时间阈值,且在第一刷新周期内绘制的基础页面的历史CPU使用率小于第一时间阈值时,预测第二刷新周期是否绘制高负载页面;当预测第二刷新周期绘制高负载页面时,电子设备在第一刷新周期绘制预绘制页面。
在一种可能的实现方式中,上述电子设备显示增量页面之前,还包括:电子设备在接收滑动操作后的下一刷新周期绘制增量页面。
在一种可能的实现方式中,上述电子设备在第一刷新周期绘制预绘制页面之前,还包括:确定预绘制页面的高度。
在一种可能的实现方式中,上述电子设备在第一刷新周期绘制预绘制页面,包括:电子设备将第一参数从第一高度值修改为第二高度值;第一参数用于控制电子设备在第一刷新周期内绘制的页面的高度,第二高度值等于第一高度值加上预绘制高度;若第一刷新周期的前一刷新内接收到显示指令,则第一高度值为基础页面的高度,第一刷新周期用于绘制基础页面和预绘制页面;若第一刷新周期的前一刷新内未接收到显示指令,则第一高度值为零,第一刷新周期用于仅绘制预绘制页面;电子设备在第一刷新周期根据第一参数绘制预绘制页面。
在一种可能的实现方式中,上述第一应用程序页面包括B个连续的子页面,基础页面包括B个连续子页面中的第i个子页面至第i+m个子页面,B为大于零的正整数,m为小于B的正整数;上述第i个子页面在基础页面中的高度大于等于零小于上述第i个子页面的高度,上述第i+m个子页面在基础页面中的高度大于等于零小于上述第i+m个子页面的高度,当上述第i个子页面在基础页面中的高度大于零且小于上述第i个子页面的高度时。
上述第i个子页面在基础页面中是不完整子页面;预测第二刷新周期是否绘制高负载页面之前,还包括:记录第一应用程序页面的第一子页面的T次绘制时间;根据第一子页面的T个绘制时间数据,获取第一子页面的历史绘制时间。
在一种可能的实现方式中,上述第一刷新周期内绘制的基础页面的历史绘制时间等于基础页面的新增部分的历史绘制时间;基础页面的新增部分的历史绘制时间等于:基础页面的新增部分中的完整子页面和基础页面的新增部分中的不完整子页面的历史绘制时间之和;或者,基础页面的新增部分中的完整子页面的历史绘制时间之和;或者,基础页面的新增部分中的完整子页面的历史绘制时间之和,加上基础页面的新增部分中的不完整子页面的理论绘制时间后的所得值;其中,基础页面的新增部分中不完整的第二子页面的理论绘制时间等于第二子页面的历史绘制时间乘上第一比例,第一比例等于第二子页面在基础页面新增部分中的高度比上第二子页面的高度;或者,基础页面的新增部分中的完整子页面的历史绘制时间之和,加上基础页面的新增部分中的不完整子页面的历史绘制时间的平均值后的所得值。
在一种可能的实现方式中,上述预测第二刷新周期是否绘制高负载页面,包括:确定增量页面是否有为高负载页面的可能性,当增量页面是否有为高负载页面的可能性时,预测第二刷新周期绘制高负载页面。
在一种可能的实现方式中,增量页面包括B个连续子页面中的第i+q个页面至第i+m+P个子页面,增量页面的新增部分包括基础页面和增量页面的非重叠部分,即上述第max(i+m,i+q)个子页面至上述第i+m+P个子页面,上述第i+m个子页面在增量页面的新增部分中的高度大于等于零小于上述第i+m个子页面的高度,上述第i+m+P个子页面在增量页面中的高度大于等于零小于上述第i+m+P个子页面的高度,q为大于零小于等于第一数值的正整数,P为大于零小于等于第二数值的正整数,max(i+m,i+q)表示i+m和i+q中的最大值。
在一种可能的实现方式中,上述确定增量页面是否有为高负载页面的可能性,包括:在P的取值范围内,当存在增量页面的新增部分的历史绘制时间大于等于第二时间阈值时,确定增量页面有为高负载页面的可能性。
在一种可能的实现方式中,上述增量页面新增部分的历史绘制时间等于:增量页面的新增部分中的完整子页面和增量页面的新增部分中的不完整子页面的历史绘制时间之和;或者,增量页面的新增部分中的完整子页面的历史绘制时间之和;或者,增量页面的新增部分中的完整子页面的历史绘制时间之和,加上增量页面的新增部分中的不完整子页面的理论绘制时间后的所得值;其中,增量页面的新增部分中不完整的第三子页面的理论绘制时间等于第三子页面的历史绘制时间乘上第二比例,第二比例等于第三子页面在增量页面新增部分中的高度比上第三子页面的高度;或者,增量页面的新增部分中的完整子页面的历史绘制时间之和,加上增量页面的新增部分中的不完整子页面的历史绘制时间的平均值后的所得值。
在一种可能的实现方式中,上述预测第二刷新周期是否绘制高负载页面,包括:根据预绘制页面的高度确定预绘制页面包含第一应用程序页面的上述第i+m个子页面至第i+m+Q个子页面,上述第i+m+Q个子页面在预绘制页面中的高度大于等于零小于上述第i+m+Q个子页面的高度,Q为大于零的正整数;判断预绘制页面是否满足第三条件;当预绘制页面满足第三条件时,预测第二刷新周期绘制高负载页面。
在一种可能的实现方式中,上述第三条件为预绘制页面的历史绘制时间大于等于第三时间阈值,预绘制页面的历史绘制时间等于:预绘制页面中的完整子页面和预绘制页面中的不完整子页面的历史绘制时间之和;或者,预绘制页面中的完整子页面的历史绘制时间之和;或者,预绘制页面中的完整子页面的历史绘制时间之和,加上预绘制页面中的不完整子页面的理论绘制时间后的所得值;其中,预绘制页面中不完整的第四子页面的理论绘制时间等于第四子页面的历史绘制时间乘上第三比例,第三比例等于第四子页面在预绘制页面中的高度比上第四子页面的高度;或者,预绘制页面中的完整子页面的历史绘制时间之和,加上预绘制页面的不完整子页面的历史绘制时间的平均值后的所得值。
在一种可能的实现方式中,上述第一刷新周期内绘制的基础页面的历史CPU使用率等于基础页面的新增部分的历史CPU使用率;基础页面的新增部分的历史CPU使用率等于:基础页面的新增部分中的完整子页面和基础页面的新增部分中的不完整子页面的历史CPU使用率之和;或者,基础页面的新增部分中的完整子页面的历史CPU使用率之和;或者,基础页面的新增部分中的完整子页面的历史CPU使用率之和,加上基础页面的新增部分中的不完整子页面的理论CPU使用率后的所得值;其中,基础页面的新增部分中不完整的第二子页面的理论CPU使用率等于第二子页面的历史CPU使用率乘上第一比例,第一比例等于第二子页面在基础页面新增部分中的高度比上第二子页面的高度;或者,基础页面的新增部分中的完整子页面的历史CPU使用率之和,加上基础页面的新增部分中的不完整子页面的历史CPU使用率的平均值后的所得值。
在一种可能的实现方式中,若第一刷新周期的前一刷新内接收到显示指令,则第一刷新周期用于显示来源页面,当第一应用程序页面包括来源页面时,基础页面的新增部分为来源页面和基础页面的非重叠部分,当第一应用程序页面不包括来源页面,基础页面的新增部分为基础页面;若第一刷新周期的前一刷新内未接收到显示指令,基础页面的新增部分为基础页面。
在一种可能的实现方式中,上述确定增量页面是否有为高负载页面的可能性,包括:在P的取值范围内,当存在增量页面的新增部分的历史绘制时间大于等于第二时间阈值,且增量页面的新增部分的历史CPU使用率大于等于第二使用率阈值时,确定增量页面是否有为高负载页面的可能性。
在一种可能的实现方式中,上述增量页面新增部分的历史CPU使用率等于:增量页面的新增部分中的完整子页面和增量页面的新增部分中的不完整子页面的历史CPU使用率之和;或者,增量页面的新增部分中的完整子页面的历史CPU使用率之和;或者,增量页面的新增部分中的完整子页面的历史CPU使用率之和,加上增量页面的新增部分中的不完整子页面的理论CPU使用率后的所得值;其中,增量页面的新增部分中不完整的第三子页面的理论CPU使用率等于第三子页面的历史CPU使用率乘上第二比例,第二比例等于第三子页面在增量页面新增部分中的高度比上第三子页面的高度;或者,增量页面的新增部分中的完整子页面的历史CPU使用率之和,加上增量页面的新增部分中的不完整子页面的历史CPU使用率的平均值后的所得值。
在一种可能的实现方式中,第三条件为预绘制页面的历史绘制时间大于等于第三时间阈值,且预绘制页面的历史CPU使用率大于等于第三使用率阈值;预绘制页面的历史CPU使用率等于:预绘制页面中的完整子页面和预绘制页面中的不完整子页面的历史CPU使用率之和;或者,预绘制页面中的完整子页面的历史CPU使用率之和;或者,预绘制页面中的完整子页面的历史CPU使用率之和,加上预绘制页面中的不完整子页面的理论CPU使用率后的所得值;其中,预绘制页面中不完整的第四子页面的理论CPU使用率等于第四子页面的历史CPU使用率乘上第三比例,第三比例等于第三子页面在预绘制页面中的高度比上第三子页面的高度;或者,预绘制页面中的完整子页面的历史CPU使用率之和,加上预绘制页面的不完整子页面的历史CPU使用率的平均值后的所得值。
在一种可能的实现方式中,上述预测第二刷新周期是否绘制高负载页面之前,还包括:记录第一应用程序页面的第一子页面的T次CPU使用率;根据第一子页面的T个CPU使用率数据,获取第一子页面的历史CPU使用率。
在一种可能的实现方式中,上述确定预绘制页面的高度,包括:若第三刷新周期内未接收到第一指令,则确定预绘制页面的高度为w1,若第三刷新周期内接收到第一指令,则确定预绘制页面的高度为w2,其中w2小于w1。
在一种可能的实现方式中,若第一应用程序页面包括来源页面,w2取值为w3;若第一应用程序页面不包括来源页面,w2取值为w4,其中,w4小于w3。
在一种可能的实现方式中,上述基础页面的新增部分的历史绘制时间越大,w2越小。
在一种可能的实现方式中,上述根据第一子页面的T个绘制时间,获取第一子页面的历史绘制时间,包括:获取第一子页面的上述T个绘制时间数据的平均值,第一子页面的历史绘制时间等于上述T个绘制时间数据的平均值;或者,将上述T个绘制时间数据的最小值和上述T个绘制时间数据的最大值之间的时间范围,划分L个连续的长度相等的时间范围;确定包含上述T个绘制时间数据中的绘制时间数据最多的一或多个时间范围;获取一或多个时间范围的平均值,第一子页面的历史绘制时间等于一或多个时间范围的平均值。
在一种可能的实现方式中,上述根据第一子页面的T个CPU使用率,获取第一子页面的历史CPU使用率,包括:获取第一子页面的上述T个CPU使用率数据的平均值,第一子页面的历史CPU使用率等于上述T个CPU使用率数据的平均值;或者,将上述T个CPU使用率数据的最小值和上述T个CPU使用率数据的最大值之间的使用率范围,划分L个连续的长度相等的使用率范围;确定包含上述T个CPU使用率数据中的CPU使用率数据最多的一或多个使用率范围;获取一或多个使用率范围的平均值,第一子页面的历史CPU使用率等于一或多个使用率范围的平均值。
第二方面,提供一种电子设备,包括:通信接口、存储器和处理器;所述通信接口、所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述电子设备执行如第一方面中任一种可能的实现方式。
第三方面,提供一种计算机可读存储介质,包括指令,其特征在于,当上述指令在电子设备上运行时,以使得电子设备执行如第一方面中任一种可能的实现方式。
第四方面,提供一种计算机产品当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面中任一种可能的实现方式。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的另一种电子设备的结构示意图;
图3为本申请实施例提供的一种子页面示意图;
图4A为本申请实施例提供的一种视窗控件示意图;
图4B为本申请实施例提供的另一种视窗控件示意图;
图5为本申请实施例提供的一种视窗的树状结构示意图;
图6为本申请实施例提供的一种子页面示意图;
图7为本申请实施例提供的一种缓存模型示意图;
图8A为本申请实施例提供的一种缓存模型的工作流程示意图;
图8B为本申请实施例提供的一种丢帧时序图;
图9A为本申请实施例提供的另一种丢帧时序图;
图9B为本申请实施例提供的一种页面绘制的时序图;
图9C为本申请实施例提供的一种预绘制页面示意图;
图10为本申请实施例提供的一种页面绘制方法的流程示意图;
图11为本申请实施例提供的另一种页面绘制的时序图;
图12为本申请实施例提供的另一种页面绘制的时序图;
图13为本申请实施例提供的一种页面示意图;
图14为本申请实施例提供的另一种页面示意图;
图15为本申请实施例提供的另一种页面示意图;
图16为本申请实施例提供的另一种页面示意图;
图17为本申请实施例提供的一种子页面示意图;
图18为本申请实施例提供的另一种子页面示意图;
图19为本申请实施例提供的另一种子页面示意图;
图20为本申请实施例提供的另一种子页面示意图;
图21为本申请实施例提供的一种新增部分示意图;
图22为本申请实施例提供的另一种新增部分示意图;
图23为本申请实施例提供的另一种预绘制页面示意图;
图24为本申请实施例提供的另一种预绘制页面示意图;
图25为本申请实施例提供的另一种页面绘制的时序图;
图26为本申请实施例提供的一种剩余页面示意图;
图27为本申请实施例提供的另一种页面绘制的时序图;
图28为本申请实施例提供的另一种页面绘制的时序图;
图29为本申请实施例提供的另一种页面绘制方法的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面,介绍本申请实施例中涉及的电子设备。本申请对提及的电子设备的类型不做具体限定,电子设备100可以为手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、可穿戴设备、膝上型计算机(laptop)等便携式电子设备。便携式电子设备的示例性实施例包括但不限于搭载iOS、android、microsoft或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,电子设备也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机,或者是智能电视机等。
参见图1,图1示出了本申请实施例提供的示例性电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
NPU可以利用进行卷积神经网络(Convolutional Neural Networks,CNN)处理进行人工智能运算。例如,利用CNN模型做大量的信息识别和信息筛选,可实现情景智能的训练和识别。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请的一些实施例中,显示屏194中显示有系统当前输出的界面内容。例如,界面内容为即时通讯应用提供的界面。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。在本申请一些可选的实施例中,压力传感器180A可用于捕获用户手指部位接触显示屏时生成的压力值,并将该压力值传输给处理器,以使得处理器识别用户通过哪个手指部位输入用户操作。
压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。在本申请一些可选的实施例中,压力传感器180A可将检测到的电容值传输给处理器,以使得处理器识别用户通过哪个手指部位(指关节或指肚等)输入用户操作。在本申请一些可选的实施例中,压力传感器180A还可根据检测到的信号计算触摸点的数量,并将计算值传输给处理器,以使得处理器识别用户通过单指或多指输入用户操作。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。在本申请一些可选的实施例中,加速度传感器180E可用于捕获用户手指部位接触显示屏时生成的加速度值,并将该加速度值传输给处理器,以使得处理器识别用户通过哪个手指部位输入用户操作。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭显示屏达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作,该触摸触控操作是指用户手部、手肘、触控笔等接触显示屏194的操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
本申请中,应用程序层还可新增浮窗启动组件(floating launcher),用于在上述提及的悬浮窗口中作为默认的显示应用,并提供给用户进入其他应用的入口。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器(window manager),内容提供器,视图系统,电话管理器,资源管理器,通知管理器、活动管理器(activity manager)等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定显示屏,截取显示屏等。本申请中,可基于Android原生的PhoneWindow,扩展出FloatingWindow,专门用于显示上述提及的悬浮窗口,以区别于普通的窗口,该窗口具有悬浮显示在系列窗口最顶层的属性。在一些可选的实施例中,该窗口大小可根据实际屏幕的大小,根据最优显示算法,给出合适的值。在一些可能的实施例中,该窗口的宽高比,可默认为常规主流手机的屏幕宽高比。同时,为方便用户关闭退出、隐藏悬浮窗口,可在右上角额外绘制一个关闭按键和一个最小化按键。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。本申请中,可相应增加悬浮窗口上用于关闭、最小化等操作的按键视图,并绑定到上述窗口管理器中的FloatingWindow上。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏207中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在显示屏上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
活动管理器用于管理系统里正在运行的activities,包括进程(process)、应用程序、服务(service)、任务(task)信息等。本申请中,可在活动管理器模块中,新增专门用于管理上述悬浮窗口中显示应用Activity的活动任务堆栈,以保证悬浮窗口中的应用activity、task不会和屏幕中全屏显示的应用产生冲突。
本申请中,应用程序框架层还可新增运动探测组件(motion detector),用于获取到的输入事件进行逻辑判断,识别输入事件的类型。例如,通过输入事件中包括的触摸坐标,触摸操作的时间戳等信息,判断该输入事件为指关节触摸事件或指肚触摸事件等。同时,运动探测组件还可记录输入事件的轨迹,并判定输入事件的手势规律,根据不同的手势,响应不同的操作。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:输入管理器(input manager)、输入调度管理器(input dispatcher)、表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
输入管理器负责从底层的输入驱动获取事件数据,解析并封装后传给输入调度管理器。
输入调度管理器用于保管窗口信息,其收到来自输入管理器的输入事件后,会在其保管的窗口中寻找合适的窗口,并将事件派发给此窗口。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
首先针对本发明实施例涉及的控件、页面、子页面的概念进行介绍。
控件:控件(control)可以是对数据和方法的封装,控件可以有自己的属性和方法,属性是控件数据的简单访问者,方法则是控件的一些简单可见的功能。控件也称为部件(widget),是用户界面的基本元素。例如,控件的类型可以包括但不限于:用户界面控件(用于开发构建用户界面的控件,如针对视窗、文本框、按钮、下拉式菜单等界面元素的控件)、图表控件(用于开发图表的控件,可以实现数据可视化等)、报表控件(用与开发报表的控件,实现报表的浏览查看、设计、编辑、打印等功能)、表格控件(用于开发表格(CELL)的控件,实现网格中数据处理和操作的功能)等。本申请实施例中控件的类型还可以包括:复合控件(将现有的各种控件组合起来,形成一个新的控件,集中多种控件的性能)、扩展控件(根据现有控件派生出一个新的控件,为现有控件增加新的性能或者更改现有控件的性能)、自定义控件等。
本申请实施例中,控件可以包括但不限于:窗口(window)、滚动条(scrollbar)、表格视图(tableview)、按钮(button)、菜单栏(menu bar)、文本框(text box)、导航栏、工具栏(toolbar)、图像(lmage)、静态文本(tatictext)、Widget等可视的界面元素。
页面:本申请的说明书和权利要求书及附图中的术语“页面”也可以被称为“用户界面(userinterface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,HTML),层叠样式表(cascadingstyle sheets,CSS),java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如HTML通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素。
子页面:目前,电子设备向用户展示的内容越来越丰富,电子设备的屏幕可能已经不能显示出页面所有内容,需要用户向下(向上)滑动才能够显示出页面所有内容。本申请实施例中的页面,可以是这种无法通过屏幕一次显示,需要通过滑动多次显示的页面。电子设备可以将页面划分为多个子页面,每个子页面对应一个页面标识,而不是页面对应页面标识。例如,可以将页面划分为子页面1、子页面2和子页面3,子页面1对应页面标识1、子页面2对应页面标识2、子页面3对应页面标识3。电子设备也可以为页面建立参考坐标,每个子页面对应一个坐标范围,而不是页面对应坐标范围,坐标的最小刻度可以为n个像素。例如,可以将页面划分为子页面1、子页面2和子页面3,子页面1坐标范围为(0,500)、子页面2坐标范围为(500,1000)、子页面3坐标范围为(1000,1500)。
电子设备可以将页面划分为多个的子页面,电子设备的曝光哑面可以包括上述多个指定高度的子页面中的一或多个连续的子页面,曝光页面可以是电子设备显示的页面。可以理解,上述曝光页面的高度可以是显示屏的高度,当然也可以是其它高度,本申请实施例对此不做限制。示例性的,图3所示页面是一个可以上下滑动的页面。如图3所示,可以为该页面建立参考坐标,并将该页面划分为多个连续的子页面,该页面的曝光页面可以包括该页面的第i个子页面至第i+m个子页面,该页面的曝光页面是指该页面中显示在屏幕中的可视页面。图3所示的第i个子页面和第i+m个子页面在曝光页面中可以是不完整的子页面。例如,图3所示的第i个子页面在曝光页面中的高度大于零小于第i个子页面的高度。
本申请实施例中,可以根据页面中控件的布局划分子页面,也可以根据指定的子页面高度划分子页面,还可以根据其他划分标准划分子页面,本申请实施例对此不做具体限定。可以理解,同一页面的任意两个子页面的高度可以相等,也可以不相等。
如图4A所示,是本申请实施例提供的一种页面架构示意图。从页面架构角度来看,可以将页面中的控件分为如下两类:视窗(view)控件、视窗组(viewgroup)控件。视窗组控件中包含一或多个控件,视窗组控件中也可以包含其他视窗组控件。需要说明的是,图4A只是以示例的形式示意一个页面,对本申请实施例并不构成限定。
如图4A所示,手机的页面中包括视窗控件1、视窗控件2、视窗组控件1、视窗组控件2和视窗组控件3,其中,视窗组控件1、视窗组控件2和视窗组控件3也可以称为列表控件。其中,如图4B所示,视窗组控件1中包括视窗控件11、视窗组控件12和视窗组控件13。视窗组控件13包括:视窗控件131、视窗组控件132和视窗组控件133。
示例性的,图5为本申请实施例提供一种控件的树状结构示意图。其中视窗(根节点,即decorView)也是视窗组控件,图5示出了图4A所示页面中的控件间的关系。
ViewRoot是连接窗口服务管理(WindowManagerService)和DecorView的纽带,所有页面事件的分发交互都是通过它来执行或传递的。例如,Android的所有触屏事件、按键事件、界面刷新(包括view的测量(measure),view的布局(layout),view的绘制(draw))等事件都是通过ViewRoot进行分发的。
示例性的,如图6所示,根据图4A所示的页面的控件布局,可以将该页面划分为四个子页面,即子页面1、子页面2、子页面3和子页面4。如图6所示,子页面1包括该页面的2个视窗控件,子页面2包括该页面的视窗组控件1,子页面3包括该页面的视窗组控件2,子页面4包括该页面的视窗组控件3。
目前,手机、平板、电脑等电子设备上的应用界面越来越复杂,一个页面可以包含数十个控件,例如、购物APP、大型游戏APP等应用的界面。大量控件的布局和绘制,耗时长且CPU使用率高,可能会导致丢帧现象。
下面以图7所示的双重缓存模型介绍什么是丢帧现象。
如图7所示,该缓存模型包括有两个缓存区,分别为后台缓存区(Back Buffer)和帧缓存区(Frame Buffer)。电子设备的GPU可以向Back Buffer中写数据,电子设备的显示器可以从Frame Buffer中读数据,并显示该数据对应的页面。Vsync信号可用于调度从BackBuffer到Frame Buffer的复制操作,可认为该复制操作在瞬间完成。
下面以图8A所示的时序图为例,介绍上述缓存模型的工作流程。
如图8A所示,电子设备根据刷新频率刷新显示的页面,例如,刷新频率为60HZ,刷新周期为16.67ms。第一刷新周期结束后,电子设备发出Vsync信号,缓存区接收到Vsync信号后,Frame Buffer复制Back Buffer中的第n帧图像数据,复制成功后,缓存区通知CPU绘制第n+1帧图像,同时,显示器在第二刷新周期根据Frame Buffer中的第n帧图像数据,显示第n帧图像。CPU绘制第n+1帧图像后,GPU对CPU绘制的第n+1帧图像进行渲染,并将渲染后的第n+1帧图像数据写入Back Buffer中。
需要注意的是,并非每个Vsync信号生成后,CPU都会重新绘制图像。只有在APP需要更新显示页面,CPU才会请求接收Vsync信号,并在接收到下一个Vsync信号后,开始绘制下一帧图像。可以理解,在上述缓存模型下,只有当Vsync信号产生时,CPU才会开始绘制下一帧图像。
值得注意的是,若CPU/GPU可以在每个刷新周期内完成指定页面的绘制和渲染,上述双重缓存模型就可以正常工作。若CPU/GPU不能在刷新周期内完成指定页面的绘制和渲染,就会发生“丢帧”(Dropped Frame,Skipped Frame,Jank)现象。
示例性的,图8B是本申请实施例提供的一种页面绘制时序图。如图8B所示,当第二刷新周期结束时,若CPU/GPU正在处理第n+1帧图像,即CPU/GPU绘制/渲染第n+1帧图像的时间超过刷新周期,则此时第n+1帧图像数据未被写入Back Buffer中。显示器进入第二刷新周期的下一刷新周期后,从Frame Buffer中取出的是“老”数据,即第n帧图像数据,而非第n+1帧图像数据。因此,第二刷新周期的后一刷新周期依旧显示第n帧图像,这种现象被称为“丢帧”(Dropped Frame,Skipped Frame,Jank)现象。上述“丢帧”现象不仅影响了第n+1帧图像的显示,还对后续图像的绘制与显示造成延时影响,从而可能导致更多的“丢帧”现象。
需要说明的是,图7仅是本申请实施例提供的一种示例性的缓存模型,本申请实施例所提的页面绘制方法还能应用在其他缓存模型中,例如,三重缓存模型,此处不做具体限定。图8A和图8B仅是本实施例提供的一种示例性的页面绘制时序图,实际情况中,从时间上来看CPU和GPU在页面绘制的处理过程可以是部分重叠的,某些页面渲染工作CPU也能做,本申请实施例对比不作具体限定。
为便于描述,本申请的说明书和权利要求书中的“电子设备绘制页面”包括对CPU/GPU对页面的绘制以及渲染,“绘制时间”是指从CPU开始绘制页面到页面渲染完成的总时间。或者“电子设备绘制页面”包括对CPU/GPU对页面的绘制、渲染以及合成,“绘制时间”是指从CPU开始绘制页面到页面渲染合成完成的总时间。第一刷新周期内CPU/GPU对页面的绘制、渲染后是否进行合成,此处不作限定。可以理解,若第一刷新周期内不进行合成,则在第一刷新周期的下一个刷新周期内显示该页面前进行合成。
以手机上的购物APP为例,在用户上下(或者左右)滑动购物APP的应用界面时,由于购物APP的应用界面比较复杂,包含大量控件,至少有一帧图像的绘制时长超过刷新周期,导致手机出现“丢帧”现象。以用户视角来看,页面将出现卡顿不流畅现象。
如图9A所示,在第一刷新周期内基础页面的绘制时间短,因此,第一刷新周期内有一段空闲期。在第二刷新周期内电子设备可能会绘制增量页面,增量页面是用户向上/向下滑动基础页面后电子设备显示的页面,若增量页面的绘制时间超过刷新周期,就会造成“丢帧”。为减少上述“丢帧”现象的可能性,本申请提供了一种页面绘制方法。如图9B所示,电子设备在第一刷新周期起始时刻判断第一刷新周期内绘制的基础页面时间是否小于预设值,以及预测第二刷新周期内是否可能绘制超时的增量页面,若上述两个条件均满足,则将第一刷新周期内绘制的页面的高度从H1修改为H1+w,从而在第一刷新周期内不仅绘制基础页面,还提前绘制预绘制页面,预绘制页面和增量页面有重叠。其中,H1为基础页面的高度,w为预绘制页面的高度。图9C是本申请实施例提供的一种预绘制页面示意图。可以理解,第一刷新周期提前绘制预绘制页面,在第二刷新周期电子设备绘制增量页面的过程中,无需再生成预绘制页面中的控件的相关数据,分担了第二刷新周期的绘制压力,以便于第二刷新周期内能够完成增量页面的绘制,避免丢帧现象。因此,本申请实施例所提方法通过提前绘制预绘制页面,能够提高页面显示的流畅性,进而提高用户体验。
图10是本申请实施例提供的一种页面绘制方法的示意性流程图。如图10所示,本申请实施例提供的网络切片选择方法包括但不限于步骤S201至S207。下面对该方法实施例的可能实现方式做进一步的描述。
S201、电子设备识别第一刷新周期是否为空闲周期,空闲周期用于绘制预绘制页面。
为减少上述“丢帧”的可能性,本申请实施例所提页面绘制方法可以对绘制时间可能超过刷新周期的页面提前进行预绘制。首先,要确定预绘制的时机。由图9A可以看出,在第一刷新周期内,CPU/GPU处理完基础页面后,直到下一个Vsync生成后才开始处理增量页面,中间存在一段空闲时间段。因此,本申请实施例中,在一个刷新周期开始后,先判断该刷新周期内是否有可能存在这样的空闲时间段,若存在,则可将该刷新周期视为空闲周期,即可能的预绘制时机。
可以理解,空闲周期可以用于绘制预绘制页面,如图9A所示,第二刷新周期内增量页面的绘制时间超过刷新周期,若在第一刷新周期的目标绘制渲染过程中对上述增量页面中的部分图像进行预绘制,以分担第二刷新周期的绘制压力,从而可以避免图9A所示的丢帧问题。
在一些实施例中,在第一刷新周期中的起始时刻,电子设备识别第一刷新周期是否为空闲周期,空闲周期用于绘制预绘制页面。
在一些实施例中,在第一刷新周期中的目标绘制渲染过程的起始时刻,电子设备识别第一刷新周期是否为空闲周期,空闲周期用于绘制预绘制页面。
需要说明的是,第一刷新周期中的目标绘制渲染过程是第一刷新周期内绘制目标页面的过程,目标绘制渲染过程与第一刷新周期起始时刻可以有时间差,也可以没有时间差,此处不做具体限定。
在一些实施例中,上述电子设备识别第一刷新周期是否为空闲周期,包括但不限于上述步骤A1至A3。
A1、判断第三刷新周期内是否接收到第一指令,第一指令用于触发电子设备更新显示屏显示的页面。第三刷新周期为第一刷新周期的前一刷新周期。
其中,第一指令可以是根据第一用户操作生成的。举例来说,电子设备显示即时通讯页面,用户点击即时通讯APP的页面上的购物链接,电子设备根据上述用户操作生成第一指令,第一指令用于触发电子设备显示购物APP的页面。
第一指令也可以是是根据电子设备内部应用程序直接生成的。举例来说,电子设备显示购物APP的页面,时钟APP根据预设的闹铃自动生成第一指令,第一指令用于触发电子设备显示闹铃页面。
A2、若未接收到第一指令,则判断第一刷新周期为空闲周期。若接收到第一指令,则执行步骤A3。
在一些实施例中,电子设备接收到第一指令,第一指令用于触发电子设备更新显示页面为基础页面。在第一刷新周期电子设备绘制更新后的页面。
示例性的,如图11所示,第一刷新周期显示来源页面,若在第三刷新周期内电子设备接收到第一指令,第一指令用于触发电子设备要更新来源页面至基础页面,则CPU将请求接收Vsync信号,并在下一个Vsync信号后(第一刷新周期)绘制更新后的基础页面。
可以理解,在上述情况下,第一刷新周期开始后,电子设备的显示器根据帧缓存区的来源页面的帧数据显示来源页面,且在第二刷新周期开始后,电子设备的显示器根据帧缓存区的基础页面的帧数据显示基础页面。这是由于,第一刷新周期内CPU绘制了基础页面,且在在第二刷新周期帧缓存区会通过复制操作得到基础页面的帧数据。
在一些实施例中,第三刷新周期内电子设备未接收到第一指令,在第一刷新周期,电子设备无需绘制页面。
示例性的,如图12所示,第三刷新周期为第一刷新周期的上一刷新周期。若第三刷新周期内,电子设备绘制基础页面,且电子设备未接收到第一指令,则电子设备在第一刷新周期内显示基础页面,且CPU不会请求接收Vsync信号,因此,CPU也不会绘制新页面。此时,第一刷新周期为空闲周期。
可以理解,在上述情况下,第一刷新周期开始后,电子设备的显示器根据帧缓存区的基础页面的帧数据显示基础页面,且在第二刷新周期开始后,电子设备的显示器依旧根据帧缓存区的基础页面的帧数据显示基础页面。这是由于,第一刷新周期内CPU没有重新绘制图像,在第二刷新周期接收Vsync信号时,帧缓存区中依旧是基础页面的帧数据。
需要说明的是,图11和图12仅是本申请实施例提供的一种示例性时序图,不对本申请实施例构成限定。
A3、判断基础页面是否为低负载页面,基础页面是第一用户操作触发电子设备更新后的页面。若是,则判断第一刷新周期为空闲周期。
通过步骤A1至A3可知,第一刷新周期为空闲周期分为两种情况:
情况一:第一刷新周期内无需绘制页面。
情况二:第一刷新周期内绘制基础页面,但基础页面是低负载页面。
本申请实施例中,可以通过历史数据判断基础页面是否为低负载页面。下面以第一应用程序页面为例,对如何通过历史数据判断基础页面是否为低负载页面进行介绍。其中,第一应用程序页面可以是购物APP、手游APP等界面较复杂的APP的页面,第一应用程序页面的高度大于曝光页面的高度,第一应用程序页面可以进行上下滑动,通过上下滑动,用户可以查看第一应用程序页面的更多内容。
本申请实施例中,第一指令可以存在如下两种情况:
情况三:第一指令用于将电子设备的显示页面从第二应用程序页面更新至第一应用程序页面内的基础页面,第二应用程序页面和第一应用程序页面不是同一页面。基础页面的宽度和第一应用程序页面宽度相同,基础页面的高度小于第一应用程序页面。基础页面可以包括第一应用程序页面中的一或多个连续的子页面
在一些实施例中,电子设备显示第二应用程序页面,响应于检测到上述第一指令,电子设备显示基础页面,第一应用程序页面包括基础页面。基础页面可以上下滑动,通过上下滑动,用户可以查看第一应用程序页面的更多内容。
例如,第二应用程序页面是即时通讯APP的页面,第一应用程序页面是购物APP页面。用户通过即时通讯AAP接收到一个购物链接,用户点击即时通讯APP的页面上显示的购物链接,电子设备响应与检测到的上述用户操作,显示该购物链接对应的购物APP的页面。
情况四:第一指令用于向上滑动第一应用程序页面,第一应用程序页面的来源页面更新至第一应用程序页面的基础页面,第一应用程序页面包括来源页面,来源页面包括第一应用程序页面的一或多个连续的子页面。
在一些实施例中,电子设备显示第一应用程序页面的来源页面,响应于检测到的上述第一指令,电子设备显示第一应用程序页面的基础页面。来源页面和基础页面可以有重叠部分,也可以没有重叠部分。
例如,第一应用程序页面是购物APP页面。电子设备显示购物APP页面的来源页面,为浏览更多商品,用户的手指在显示屏上向上滑动,响应于检测到的上述用户操作,电子设备向上滑动电子设备显示的购物APP页面,将电子设备显示的来源页面更新至购物APP页面的基础页面。
在一些实施例中,通过历史数据判断基础页面是否为低负载页面的方法包括但不限于步骤B1至步骤B3。
B1、首先,可以为第一应用程序页面建立参考坐标,并将第一应用程序页面划分为多个子页面。
第一应用程序页面的每个子页面对应一个坐标范围,坐标的最小刻度可以为n个像素,每个子页面的高度为n的整数倍。基础页面可以由第一应用程序页面中的m个连续的子页面组成,其中,上述m个子页面中的第t个子页面的坐标下限等于上述m个子页面中的第t+1个子页面的坐标上限。m和n为大于零的正整数。
本申请实施例中,第一应用程序页面可以分为两种类型,即第一类型和第二类型。
第一类型:第一应用程序页面仅包含滚动区页面,即电子设备显示的第一应用程序页面可以整体上下滑动。若电子设备显示第一应用程序页面的基础页面,且电子设备接收到第二用户操作,第二用户操作用于向上滑动第一应用程序页面,第二用户操作的滑动起点在基础页面内,响应于检测到的第二用户操作,第一应用程序页面整体向上滑动,电子设备显示第一应用程序页面的增量页面。
可以理解,第二用户操作也可以用于向下滑动第一应用程序页面,本申请实施例对此不作具体限定。接下来的实施例,均以向上滑动第一应用程序页面为例进行说明。
示例性的,如图13所示,电子设备在第二刷新周期的曝光页面为基础页面。如图13和图14所示,用户的手指在显示屏上向上滑动,电子设备响应于检测到的上述用户操作,电子设备向上滑动基础页面。滑动后的曝光页面为增量页面,增量页面中可以包括与基础页面的重叠部分,以及新增部分。
第二类型:第一应用程序页面包括滚动区页面和非滚动区页面,滚动区页面可以上下滑动,非滚动区页面不能上下滑动。电子设备显示第一应用程序页面的基础页面,基础页面包括滚动区和非滚动区。电子设备接收第二用户操作,第二用户操作用于向上滑动第一应用程序页面,滑动起点位于基础页面的滚动区内,响应于检测到的第二用户操作,滚动区页面向上滑动,非滚动区页面不变。若用户向上滑动的起点位于非滚动区内,则滚动区页面和非滚动区页面均不变。
示例性的,如图15所示,电子设备显示购物APP的页面(基础页面),购物APP的页面可以分为如图15所示的三部分,其中,中间部分为滚动区,上下两部分为非滚动区。如图15和图16所示,用户的手指在显示屏上向上滑动,滑动起点在滚动区内,电子设备响应于检测到的上述用户操作,电子设备向上滑动购物APP的滚动区页面。滑动后的曝光页面为增量页面,增量页面中可以包括与基础页面的重叠部分,以及新增部分。
在一些实施例中,若第一应用程序页面为第一类型,基础页面可以包括第一应用程序页面中的m个连续的完整子页面,即第i个子页面到第i+m-1个子页面。m为大于等于1的正整数,子页面的高度小于等于第一应用程序页面的曝光页面的高度。每个子页面的高度可以相等,也可以不等,本申请实施例不作具体限定。
可选的,每个子页面的高度均为h,曝光页面的高度为H1,其中H1=m*h。示例性的,如图17所示。
在一些实施例中,若第一应用程序页面为第一类型,基础页面包括第一应用程序页面中的m-1个连续的完整子页面和两个不完整子页面,即第i个子页面的部分页面、第i+1个子页面到第i+m-1个子页面、第i+m子页面的部分页面。示例性的,如图18所示,第i个子页面在基础页面中的高度为r1,第i+m子页面在基础页面中的高度为r2。其中,r1大于零且小于第i个子页面的高度,r2大于零且小于第i+m个子页面的高度。
本申请实施例中,若第一应用程序页面为第二类型,将第一应用程序页面划分为一或多个连续的子页面指的是:将第一应用程序页面的滚动区页面划分为一或多个连续的子页面。
在一些实施例中,基础页面的滚动区页面可以包括第一应用程序页面的滚动区页面的m个连续的完整子页面,即第一应用程序页面的第i个子页面到第i+m-1个子页面。滚动区的可视页面高度为H2,示例性的,如图19所示。
在一些实施例中,若第一应用程序页面为第二类型,基础页面的滚动区可以包括第一应用程序页面的滚动区页面的m-1个连续的完整子页面和两个不完整子页面,即第i个子页面的部分页面、第i+1个子页面到第i+m-1个子页面、第i+m子页面的部分页面。示例性的,如图20所示,第i个子页面在基础页面中的高度为r3,第i+m子页面在基础页面中的高度为r4。其中,r3大于零且小于第i个子页面的高度,r4大于零且小于第i+m个子页面的高度。
可以理解,若第一应用程序页面为第一类型,第一应用程序页面的曝光页面所在区域均可视为滚动区,第一应用程序页面包括滚动区的可视页面和滚动区的不可视页面。若第一应用程序页面为第二类型,第一应用程序页面包括非滚动区页面和滚动区页面,其中,滚动区页面包括滚动区的可视页面和滚动区的不可视页面。
B2、在用户使用第一应用程序的过程中,电子设备记录电子设备所绘制的第一应用程序页面的每个子页面的绘制时间,并获取上述每个子页面的历史绘制时间。
可以理解,若第一应用程序页面为第二类型,在用户使用第一应用程序的过程中,电子设备记录的是第一应用程序页面的滚动区页面的每个子页面的绘制时间。
在一些实施例中,电子设备记录W次电子设备所绘制的第一应用程序页面的第一子页面的绘制时间,生成第一子页面的W个绘制时间数据。并利用第一算法对W个绘制时间数据进行处理,得到第一子页面的历史绘制时间。其中,W为固定值,当记录的次数达到W时,计算第一子页面的历史绘制时间。
在一些实施例中,电子设备记录第j次电子设备所绘制的第一应用程序页面的第一子页面的绘制时间,生成第一子页面的第j个绘制时间数据。并利用第一算法对j个绘制时间数据进行处理,得到第一子页面的历史绘制时间。
可以理解,在用户使用第一应用程序的过程中,电子设备可以不断记录第一子页面的绘制时间,并不断更新第一子页面的历史绘制时间,从而根据第一子页面的历史数据,
在一些实施例中,第一算法可以为:对所记录的绘制时间数据取平均,所得平均值,即为历史绘制时间。
在一些实施例中,第一算法可以为:根据所记录的绘制时间数据的最大值和最小值,划分L个连续的时间范围,并确定概率最大的时间范围,并取该时间范围中间值作为历史绘制时间。若有一或多个时间范围的概率相等,则取上述一或多个时间范围的中间值的平均值。
例如,7个绘制时间数据分别为5ms、7ms、7ms、7ms、7ms、9ms、9ms,L取值为3,则三个时间范围可以为[5,7)、[7,9)、[9,11),其中[5,7)表示大于等于5且小于7。时间范围为[5,7)的概率为七分之一,时间范围为[7,9)的概率为七分之四,时间范围为[9,11)的概率为七分之二,则取时间范围[7,9)的中间值为历史绘制时间,即8ms。
在一些实施例中,第一算法还可以为:根据x个绘制时间数据最大值和最小值,划分L个连续的时间范围,根据x个绘制时间数据的,确定概率最大的时间范围,并取该时间范围内的绘制时间数据的平均值,作为历史绘制时间。若有一或多个时间范围的概率相等,则取上述一或多个时间范围中的绘制时间数据的平均值为历史绘制时间。
例如,7个绘制时间数据分别为6ms、8ms、8ms、8ms、9ms、9ms、9ms,L取值为3,则三个时间范围可以为[5,7)、[7,9)、[9,11),其中[5,7)表示大于等于5且小于7。时间范围为[5,7)的概率为七分之一,时间范围为[7,9)的概率为七分之三,时间范围为[9,11)的概率为七分之三,则取时间范围[7,9)内的6个绘制时间数据(即8ms、8ms、8ms、9ms、9ms、9ms)的平均值为历史绘制时间,即8.5ms。
需要说明的是,第一算法还可以为其他算法,本申请实施例对此不作具体限定。
B3、根据基础页面中的子页面的历史绘制时间,确定基础页面的历史绘制时间。
针对第一指令为情况三,基础页面为第一类型,下面介绍如何根据基础页面中的子页面的历史绘制时间,确定基础页面的历史绘制时间。
可选的,基础页面的历史绘制时间可以为:基础页面中的完整子页面的历史绘制时间之和。
可选的,基础页面的历史绘制时间可以为:基础页面中的子页面(包括完整子页面和不完整子页面)的历史绘制时间之和。
可选的,以图18为例,根据r1和第i个子页面的高度的比值确定基础页面中第i个子页面的理论绘制时间。例如,r1比上第i个子页面的高度为第四比例,第i个子页面的理论绘制时间为第四比例乘上第i个子页面的历史绘制时间。根据r2和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论绘制时间。例如,r2比上第i+m个子页面的高度为第五比例,第i+m个子页面的理论绘制时间为第五比例乘上第i+m个子页面的历史绘制时间。基础页面的历史绘制时间可以为:基础页面中的完整子页面(即第i+1个子页面和第i+m-1个子页面)的历史绘制时间之和,加上基础页面新增部分中不完整子页面(即第i个子页面和第i+m个子页面)的理论绘制时间后的所得值。
可选的,基础页面的历史绘制时间可以为:基础页面中的完整子页面的历史绘制时间之和,加上两个不完整子页面的历史绘制时间的平均值后的所得值。
针对第一指令为情况三,基础页面为第二类型,下面介绍如何根据基础页面中的子页面的历史绘制时间,确定基础页面的历史绘制时间。
可选的,基础页面的历史绘制时间可以为:基础页面中的滚动区的子页面的历史绘制时间和非滚动区的历史绘制时间之和小于第一时间阈值。
可以理解,基础页面的滚动区的子页面的历史绘制时间的确定可以参考第一类型的可选实施例,此处不再赘述。
本申请实施例中,第一时间阈值小于刷新周期。例如,刷新周期为16.67ms,第一时间阈值为0.5倍的刷新周期,即8.335ms。
针对第一指令为情况四,基础页面为第一类型或第二类型,下面介绍如何根据基础页面中的子页面的历史绘制时间,确定基础页面的历史绘制时间。
示例性的,如图21所示,来源页面包括第一应用程序页面的第j个子页面至第j+a个子页面,其中,j为大于i的正整数,第j个子页面和第j+a个子页面为不完整子页面。如图21所示,用户的手指在显示屏上向上滑动d1,电子设备响应与检测到的该用户操作,显示基础页面。基础页面的新增部分的高度为d1。基础页面中新增部分包括第一应用程序页面的第i+b个子页面至第i+m个子页面。
如图21所示,若i+b等于j+a,新增部分包括第i+b个子页面至第i+m个子页面。基础页面的新增部分中,第i+b+1个子页面至第i+m-1个子页面为完整子页面,第i+b个子页面和第i+m个子页面可以为完整子页面,也可以为不完整子页面。例如,若r6大于零且小于第i+b个子页面的高度,则基础页面的新增部分中第i+b个子页面为不完整子页面。
可以理解,针对情况四,若基础页面为类型一,且来源页面和基础页面没有重叠,则基础页面中的所有页面内容均属于基础页面的新增部分。针对情况四,若基础页面为类型二,且来源页面和基础页面没有重叠,则基础页面的滚动区内页面均为新增部分。针对情况三,也可将整个基础页面视为基础页面的新增部分。
可以理解,若基础页面为第二类型,基础页面新增部分仅包含滚动区页面的子页面,不包含非滚动区页面内容。
可以理解,第一刷新周期内仅需绘制基础页面的新增部分,基础页面的历史绘制时间等于基础页面新增部分的历史绘制时间。
可选的,基础页面新增部分的历史绘制时间可以为:基础页面新增部分中的完整子页面的历史绘制时间之和。
可选的,基础页面新增部分的历史绘制时间可以为:基础页面新增部分中的子页面(包括完整子页面和不完整子页面)的历史绘制时间之和。
在一些实施例中,基础页面的新增部分中不完整的第二子页面的理论绘制时间等于第二子页面的历史绘制时间乘上第一比例,第一比例等于第二子页面在基础页面新增部分中的高度比上第二子页面的高度。
可选的,以图21为例,根据第i+b个子页面在新增部分中的高度和第i+b个子页面的高度的比值确定基础页面中第i+b个子页面的理论绘制时间。b为大于等于零的正整数,例如,根据第i+b个子页面在新增部分中的高度和第i+b个子页面的高度的比值为第六比例,新增部分中第i+b个子页面的理论绘制时间为第六比例乘上第i+b个子页面的历史绘制时间。根据第i+m个子页面在新增部分中的高度和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论绘制时间。基础页面新增部分的历史绘制时间可以为:基础页面新增部分中完整子页面(即第i+b+1个子页面至第i+m个子页面)的历史绘制时间之和,加上基础页面新增部分中不完整子页面(即第i+b+1个子页面和第i+m-1个子页面)的理论绘制时间后的所得值。
可选的,基础页面新增部分的历史绘制时间可以为:新增部分中的完整子页面的历史绘制时间之和,加上两个不完整子页面的历史绘制时间的平均值后的所得值。
B4、根据基础页面的历史绘制时间,确定基础页面是否为低负载页面。
在一些实施例中,若基础页面的历史绘制时间小于第一时间阈值,则确定基础页面为低负载页面。
在一些实施例中,上述根据基础页面的历史绘制时间,确定基础页面是否为低负载页面,包括:根据基础页面的历史绘制时间和基础页面的历史CPU使用率,确定基础页面是否为低负载页面。
可选的,若基础页面中的每个子页面的历史绘制时间小于第一时间阈值,且基础页面中的每个子页面的历史CPU使用率小于第一使用率阈值,则确定基础页面为低负载页面。
可选的,上述根据基础页面的历史绘制时间和基础页面的历史CPU使用率,确定基础页面是否为低负载页面之前,所提页面绘制方法还可以包括:根据基础页面中的子页面的历史CPU使用率,确定基础页面的历史CPU使用率。
在一些实施例中,上述根据基础页面中的子页面的历史CPU使用率,确定基础页面的历史CPU使用率之前,所提方法还包括:电子设备记录电子设备绘制第一应用程序页面的每个子页面的CPU使用率,并获取上述每个子页面的历史CPU使用率。
在一些实施例中,电子设备记录W次CPU所绘制的第一应用程序页面的第一子页面的CPU使用率,生成第一子页面的W个CPU使用率数据。并利用第一算法对W个CPU使用率数据进行处理,得到第一子页面的历史CPU使用率。其中,W为固定值,当记录的次数达到W时,计算第一子页面的历史CPU使用率。
在一些实施例中,电子设备记录第j次CPU所绘制的第一应用程序页面的第一子页面的CPU使用率,生成第一子页面的第j个CPU使用率数据。并利用第一算法对j个CPU使用率数据进行处理,得到第一子页面的历史CPU使用率。
针对第一指令为情况三,基础页面为第一类型,下面介绍如何根据基础页面中的子页面的历史CPU使用率,确定基础页面的历史CPU使用率。
可选的,基础页面的历史CPU使用率可以为:基础页面中的完整子页面的历史CPU使用率之和。
可选的,基础页面的历史CPU使用率可以为:基础页面中的子页面(包括完整子页面和不完整子页面)的历史CPU使用率之和。
可选的,以图18为例,根据r1和第i个子页面的高度的比值确定基础页面中第i个子页面的理论CPU使用率。例如,r1比上第i个子页面的高度为第四比例,第i个子页面的理论CPU使用率为第四比例乘上第i个子页面的历史CPU使用率。根据r2和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论CPU使用率。例如,r2比上第i+m个子页面的高度为第五比例,第i+m个子页面的理论CPU使用率为第五比例乘上第i+m个子页面的历史CPU使用率。基础页面的历史CPU使用率可以为:基础页面中的完整子页面(即第i+1个子页面至第i+m-1个子页面)的历史CPU使用率之和,加上基础页面中不完整子页面(即第i个子页面和第i+m个子页面)的理论绘制时间后的所得值。
可选的,基础页面的历史CPU使用率可以为:基础页面中的完整子页面的历史CPU使用率之和,加上两个不完整子页面的历史CPU使用率的平均值后的所得值。
针对第一指令为情况三,基础页面为第二类型,下面介绍如何根据基础页面中的子页面的历史CPU使用率,确定基础页面的历史CPU使用率。
可选的,基础页面的历史CPU使用率可以为:基础页面的滚动区中的子页面的历史CPU使用率和非滚动区的历史CPU使用率之和小于第一使用率阈值。
可以理解,基础页面的滚动区的子页面的历史CPU使用率的确定可以参考第一类型的可选实施例,此处不再赘述。
针对第一指令为情况四,基础页面为第一类型或第二类型,下面介绍如何根据基础页面中的子页面的历史CPU使用率,确定基础页面的历史CPU使用率。
可以理解,第一刷新周期内仅需绘制基础页面的新增部分,基础页面的历史CPU使用率等于基础页面新增部分的历史CPU使用率。
可选的,基础页面新增部分的历史绘制时间可以为:基础页面新增部分中的完整子页面的历史CPU使用率之和。
可选的,基础页面新增部分的历史绘制时间还可以为:基础页面新增部分中的子页面的历史CPU使用率之和。
在一些实施例中,基础页面的新增部分中不完整的第二子页面的理论CPU使用率等于第二子页面的历史CPU使用率乘上第一比例,第一比例等于第二子页面在基础页面新增部分中的高度比上第二子页面的高度。
可选的,以图21为例,根据第i+b个子页面在新增部分中的高度和第i+b个子页面的高度的比值确定基础页面中第i+b个子页面的理论CPU使用率。根据第i+m个子页面在新增部分中的高度和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论CPU使用率。基础页面新增部分的历史绘制时间可以为:基础页面新增部分中完整子页面(即第i+b+1个子页面至第i+m个子页面)的历史CPU使用率之和,加上基础页面新增部分中不完整子页面(即第i+b+1个子页面和第i+m-1个子页面)的理论CPU使用率后的所得值。
可选的,基础页面新增部分的历史绘制时间可以为:基础页面新增部分中的子页面的历史CPU使用率之和,加上两个不完整子页面的历史CPU使用率的平均值后的所得值。
S202、若第一刷新周期为空闲周期,则预测第二刷新周期是否绘制高负载页面。
可以理解,若第一刷新周期不是空闲周期,则第一刷新周期不能作为预绘制时机。
本申请实施例中,若存在绘制高负载页面的可能性,则在第一刷新周期绘制预绘制页面,第一应用程序页面包括上述预绘制页面,上述预绘制页面与基础页面宽度相等,且仅有一条边重叠。可以理解,预绘制页面与上述高负载页面有重叠部分,提前绘制预绘制页面,可以减少上述高负载页面的绘制时间。
针对如何预测第二刷新周期是否绘制高负载页面,本申请实施例中提出两种方案。其中:
方案一:第一刷新周期开始时刻预测第二刷新周期是否存在绘制高负载页面的可能性,并确定预绘制高度,如何预测与预绘制高度无关。预绘制高度为预绘制页面的高度。
方案二:第一刷新周期开始时刻确定预绘制高度,然后根据预绘制高度预测第二刷新周期是否存在绘制高负载页面的可能性。
可以理解,第一刷新周期内,电子设备可能接收到第二用户操作,第二用户操作用于向上滑动第一应用程序页面。若接收到第二用户操作,则在CPU下一个Vsync信号发出后的第二刷新周期内绘制滑动后的曝光页面,即增量页面。上述预测第二刷新周期是否绘制高负载页面,可以理解为预测增量页面是否有为高负载页面的可能性,若增量页面有可能为高负载页面,则对增量页面进行预绘制。
示例性的,如图22所示,第一应用程序的曝光页面为基础页面,用户的手指在显示屏上向上滑动,滑动距离为d2,电子设备检测到上述用户操作后,响应于上述用户操作,电子设备更新曝光页面为增量页面。由图22可知用户的手指在显示屏上向上滑动,以使第一应用程序页面向上滑动,增量页面的新增部分包括第i+m个子页面的部分页面、第i+m+1个子页面至第i+m+P-1个子页面以及第i+m+P个子页面的部分页面。其中,第i+m+P个子页面在增量页面的新增部分中的高度为r8,P为正整数,r8大于等于零小于第i+m+P个子页面的高度。
需要说明的是,由图22可知,由于d2小于H1,基础页面与增量页面有重叠子页面。即使页面滑动的距离可以大于H1,但为了页面显示的流畅性,电子设备的刷新周期很小,一个刷新周期内页面滑动的距离也是有限的。因此本申请实施例中,以基础页面与增量页面有重叠子页面这种情况为例进行说明。例如,刷新频率为60KHZ,刷新周期为约为16.67ms。
下面介绍如何确定预绘制高度。
在一些实施例中,第一刷新周期开始后,若确定第一刷新周期满足情况一,则确定预绘制高度取值为w1;若确定第一刷新周期满足情况二,则确定预绘制高度取值为w2。其中,w2大于w1。
在一些实施例中,w1和w2可以是固定的经验值。例如,图23中w1取值为0.5*H1,图24中w2取值为0.3*H2。
在一些实施例中,w1可以是固定的经验值,w2可以根据基础页面的历史绘制时间确定。基础页面的历史绘制时间越小,w2取值越大。
在一些实施例中,w1可以是固定的经验值,w2可以根据基础页面的历史绘制时间和历史CPU使用率确定。基础页面的历史绘制时间越小,w2取值越大;基础页面的历史CPU使用率越小,w2取值越大。
在一些实施例中,w1可以是固定的经验值,w2可以根据基础页面的历史绘制时间、历史CPU使用率和增量页面的历史绘制时间确定。基础页面的历史绘制时间越小,w2取值越大;基础页面的历史CPU使用率越小,w2取值越大;增量页面的历史绘制时间(即增量页面的新增部分的绘制时间)越大,w2取值越小。
下面针对方案一和方案二,分别介绍如何预测增量页面是否有为高负载页面的可能性。
方案一:
(1)首先,下面介绍如何判断增量页面是否为高负载页面。
在一些实施例中,可以根据增量页面中的历史绘制时间,确定增量页面是否为高负载页面。
可以理解,第二刷新周期内增量页面的历史绘制时间等于增量页面新增部分的历史绘制时间。
在一些实施例中,根据增量页面新增部分的历史绘制时间确定增量页面是否为高负载页面。
可选的,若增量页面新增部分的历史绘制时间大于第二时间阈值,则确定增量页面为高负载页面。
可选的,增量页面新增部分的历史绘制时间可以为:增量页面新增部分的子页面(包括增量页面新增部分的完整子页面和不完整子页面)的历史绘制时间之和。
在一些实施例中,增量页面的新增部分中不完整的第三子页面的理论绘制时间等于第三子页面的历史绘制时间乘上第二比例,第二比例等于所述第三子页面在增量页面新增部分中的高度比上第三子页面的高度。
可选的,以图22为例,根据第i+m+P个子页面在新增部分中的高度r8和第i+m+P个子页面的高度的比值确定增量页面中第i+m+P个子页面的理论绘制时间。例如,第i+m+P个子页面在新增部分中的高度r8和第i+m+P个子页面的高度的比值为第七比例,新增部分中第i+m+P个子页面的理论绘制时间为第七比例乘上第i+m+P个子页面的历史绘制时间。根据第i+m个子页面在新增部分中的高度和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论绘制时间。增量页面新增部分的历史绘制时间可以为:增量页面新增部分中完整子页面(即第i+m+1个子页面至第i+m+P-1个子页面)的历史绘制时间之和,加上增量页面新增部分中不完整子页面(即第i+m个子页面和第i+m+P个子页面)的理论绘制时间后的所得值。
可选的,增量页面新增部分的历史绘制时间可以为:增量页面新增部分中的完整子页面的历史绘制时间之和。
可选的,第二时间阈值等于刷新周期。例如,刷新周期为16.67ms,第一时间阈值为16.67ms。
在一些实施例中,上述根据增量页面新增部分的历史绘制时间确定增量页面是否为高负载页面,包括:根据增量页面中的历史绘制时间和增量页面的历史CPU使用率,确定增量页面是否为高负载页面。
在一些实施例中,若增量页面新增部分的历史绘制时间大于等于第二时间阈值,且增量页面新增部分的历史CPU使用率大于等于第二使用率阈值,则确定增量页面为高负载页面。
可选的,增量页面新增部分的历史CPU使用率可以为:增量页面新增部分的子页面(包括增量页面新增部分的完整子页面和不完整子页面)的历史CPU使用率之和。
在一些实施例中,增量页面的新增部分中不完整的第三子页面的理论CPU使用率等于第三子页面的历史CPU使用率乘上第二比例,第二比例等于第三子页面在增量页面新增部分中的高度比上第三子页面的高度。
可选的,以图22为例,根据第i+m+P个子页面在新增部分中的高度r8和第i+m+P个子页面的高度的比值确定增量页面中第i+m+P个子页面的理论CPU使用率。例如,第i+m+P个子页面在新增部分中的高度r8和第i+m+P个子页面的高度的比值为第八比例,新增部分中第i+m+P个子页面的理论CPU使用率为第八比例乘上第i+m+P个子页面的历史CPU使用率。根据第i+m个子页面在新增部分中的高度和第i+m个子页面的高度的比值确定基础页面中第i+m个子页面的理论CPU使用率。增量页面新增部分的历史CPU使用率可以为:增量页面新增部分中完整子页面(即第i+m+1个子页面至第i+m+P-1个子页面)的历史CPU使用率之和,加上增量页面新增部分中不完整子页面(即第i+m个子页面和第i+m+P个子页面)的理论CPU使用率后的所得值。
可选的,增量页面新增部分的历史CPU使用率可以为:增量页面的新增部分中的完整子页面的历史CPU使用率之和。
(2)然后,预测增量页面是否有为高负载页面的可能性。
在一些实施例中,预测增量页面是否有为高负载页面的可能性的步骤可以如下:
1、初始化f的值为1。
2、判断f是否小于等于fmax,若否,则执行步骤4;若是,则将P取值为f,然后执行步骤3。
3、判断增量页面是否满足第二条件,若不满足,则令f=f+1,并执行步骤2;若满足,则执行步骤5。
可选的,第二条件为增量页面新增部分的历史绘制时间大于第二时间阈值。
可选的,第二条件为增量页面新增部分的历史绘制时间大于第二时间阈值,且增量页面新增部分的历史CPU使用率大于第二时间阈值。
4、预测增量页面没有为高负载页面的可能性。
5、预测增量页面有为高负载页面的可能性,且P此时取值为f。
例如,fmax取值为m。
可以理解,只要在满足P小于等于fmax的条件下,增量页面能够满足第二条件,则增量页面就有为高负载页面的可能性。
方案二:
(1)根据预绘制高度,确定预绘制页面中包含的子页面。
示例性的,如图23和图24内所示页面中的预绘制页面,预绘制页面中的子页面包括第i+m个子页面至第i+m+Q个子页面。预绘制页面中第i+m+Q个子页面的高度为r9,r9大于等于零小于第i+m+Q个子页面的高度。
(2)根据预绘制页面的历史绘制时间,确定预绘制页面是否满足第三条件。
在一些实施例中,第三条件可以为:预绘制页面的历史绘制时间大于等于第三时间阈值。
可选的,预绘制页面的历史绘制时间可以为:预绘制页面中的所有子页面(包括预绘制页面中的完整子页面和不完整子页面)的历史绘制时间之和。
在一些实施例中,预绘制页面中不完整的第四子页面的理论绘制时间等于第四子页面的历史绘制时间乘上第三比例,第三比例等于第四子页面在预绘制页面中的高度比上第四子页面的高度。
可选的,以图23为例,根据第i+m个子页面在预绘制页面中的高度r2和第i+m个子页面的高度的比值确定预绘制页面中第i+m个子页面的理论绘制时间。根据第i+m+Q个子页面在预绘制页面中的高度r4和第i+m+Q个子页面的高度的比值确定基础页面中第i+m+Q个子页面的理论绘制时间。预绘制页面的历史绘制时间可以为:预绘制页面中完整子页面(第i+m+1个子页面至第i+m+Q-1个子页面)的历史绘制时间之和,加上预绘制页面中不完整子页面(第i+m个子页面和第i+m+Q个子页面)的理论绘制时间后的所得值。
可选的,预绘制页面的历史绘制时间可以为:预绘制页面中的完整子页面的历史绘制时间之和。
在一些实施例中,第三条件可以为:预绘制页面的历史绘制时间大于等于第三时间阈值,且预绘制页面的历史CPU使用率大于等于第三使用率阈值。
可选的,预绘制页面的历史CPU使用率可以为:预绘制页面中的子页面(包括预绘制页面中的完整子页面和不完整子页面)的历史CPU使用率之和。
在一些实施例中,预绘制页面中不完整的第四子页面的理论CPU使用率等于第四子页面的历史CPU使用率乘上第三比例,第三比例等于第三子页面在所述预绘制页面中的高度比上第三子页面的高度。
可选的,以图23为例,根据第i+m个子页面在预绘制页面中的高度r2和第i+m个子页面的高度的比值确定预绘制页面中第i+m个子页面的理论CPU使用率。根据第i+m+Q个子页面在预绘制页面中的高度r9和第i+m+Q个子页面的高度的比值确定基础页面中第i+m+Q个子页面的理论CPU使用率。预绘制页面的历史CPU使用率可以为:预绘制页面中完整子页面(即第i+m+1个子页面至第i+m+Q-1个子页面)的历史CPU使用率之和,加上预绘制页面中不完整子页面(第i+m个子页面和第i+m+Q个子页面)的理论使用率后的所得值。
可选的,预绘制页面的历史CPU使用率可以为:预绘制页面中的完整子页面的历史CPU使用率之和。
(3)若预绘制页面满足第三条件,则确定增量页面有为高负载页面的可能性。
S203、若预测第二刷新周期绘制高负载页面,则在第一刷新周期绘制预绘制页面。
可选的,若第二刷新周期存在绘制高负载页面的可能性,则在第一刷新周期的目标绘制渲染过程中绘制预绘制页面。
可以理解,第一刷新周期中的目标绘制渲染过程中绘制的目标页面包括预绘制页面。
在一些实施例中,第一刷新周期满足情况一,则CPU在第一刷新周期内仅绘制预绘制页面,预绘制高度为w1。第一刷新周期中目标页面仅包括预绘制页面。
可以理解,若第二用户操作为向下滑动基础页面,则预绘制页面即指第一应用程序页面中以子页面在基础页面中的下边缘为起点,高度为预绘制高度的页面,上述预绘制页面的高度为w1,上述预绘制页面可以包括不完整的子页面。
在一些实施例中,第一刷新周期满足情况二,则CPU在第一刷新周期内,绘制基础页面以及预绘制页面,预绘制页面的高度为w2。第一刷新周期中目标页面基础页面以及预绘制页面。
如图23所示,若第一应用程序页面为第一类型,子页面在基础页面中的下边缘即为基础页面的下边缘。如图24所示,若第一应用程序页面为第二类型,子页面在基础页面中的下边缘即为滚动区的下边缘。
在一些实施例中,若通过方案一进行预测,则在执行步骤S203之前,可以根据P值调整w2,P值越大,w2至越大。
具体的,第一刷新周期满足情况二,第一应用程序页面为第一类型,CPU将第一参数从H1修改为H1+w2,第一参数用于控制CPU在第一刷新周期内绘制的页面高度。CPU可以通过ViewRoot修改第一参数,CPU在第一刷新周期内根据修改后的第一参数绘制页面,该页面的高度为H1+w2,该页面包括基础页面以及预绘制页面。
可以理解,若不进行预绘制,在第一刷新周期内绘制仅绘制基础页面。
示例性的,如图23所示,修改第一参数为H1+w2,即修改CPU绘制的页面的高度,CPU绘制的页面包括基础页面和预绘制页面。
具体的,第一刷新周期满足情况二,第一应用程序页面为第二类型,第一应用程序页面包括滚动区和非滚动区两部分,CPU将滚动区的第二参数从H2修改为H2+w2,第二参数用于控制CPU在第一刷新周期内绘制的滚动区内的页面高度。CPU可以通过ViewRoot修改第二参数,CPU在第一刷新周期内根据修改后的第二参数绘制页面,该页面的滚动区页面的绘制高度为H2+w2。
示例性的,如图24所示,修改滚动区的第二参数为H2+w2,即修改CPU绘制的滚动区页面的高度,CPU绘制的页面包括基础页面和预绘制页面。
S204、电子设备在第一刷新周期之后的刷新周期显示基础页面。
在一些实施例中,电子设备在第二刷新周期显示基础页面。
可以理解,第一刷新周期内CPU绘制的页面包括基础页面和预绘制页面,但在第二刷新周期内仅显示基础页面,不显示预绘制页面。
示例性的,如图25所示,电子设备在第一刷新周期内绘制基础页面和增量页面中的预绘制页面,在第二刷新周期内仅显示基础页面。
需要说明得是,电子设备可以在第二刷新周期显示基础页面,也可以在第二刷新周期后一刷新周期显示增量页面,此处不做具体限定。
S205、电子设备在第一时刻接收第二用户操作,第一时刻在第一刷新周期起始时刻之后。
本申请实施例中,第一刷新周期起始时刻至第一时刻,电子设备未接收到第二指令,第二指令用于触发电子设备将显示页面从基础页面更新至其他页面。即在电子设备接收第二用户操作之前,电子设备一直显示基础页面没有变化。
可以理解,第一时刻所在刷新周期可以是第一刷新周期或第一刷新周期之后的刷新周期。
S206、电子设备在第四刷新周期开始后绘制增量页面,第四刷新周期是第一时刻的后一刷新周期。
在一些实施例中,增量页面和预绘制页面有重叠。由于增量页面与基础页面重叠部分中的控件在第一刷新周期已经被绘制过,绘制由于增量页面与基础页面重叠部分中的控件的相关数据已经被存储在上述控件对应的存储区内,第二刷新周期绘制增量页面时可以直接使用上述相关数据,无需再次生成。同理,已绘制的预绘制页面中的控件也是如此。因此,在第二刷新周期电子设备绘制增量页面的过程中,只有剩余页面中的控件的相关数据需要生成。示例性的,如图26所示,是本申请实施例提供的一种增量页面新增部分中的除预绘制页面之外的剩余页面示意图。因此,本申请实施例所提页面绘制方法极大减少了增量页面的绘制时间。
可以理解,增量页面由第二用户操作确定。增量页面和预绘制页面可能有重叠,也可能没有重叠。尽管在第一刷新周期绘制页面之前,第二用户操作是不确定的,即增量页面是无法确定的,但由于第一刷新周期绘制页面包括了预绘制页面,本发明实施例所提页面绘制方法就有可能减少增量页面的绘制时间,从而提升页面流畅性。
S207、电子设备在第四刷新周期之后的刷新周期显示增量页面。
需要说明得是,电子设备可以在第四刷新周期的后一刷新周期显示增量页面,也可以在第四刷新周期之后的其他刷新周期显示增量页面,此处不做具体限定。例如,电子设备可以在第四刷新周期的后一刷新周期合成增量页面,并在第四刷新周期之后的第二个刷新周期显示增量页面。
示例性的,如图27所示,电子设备在第一刷新周期内绘制基础页面和增量页面中的预绘制页面。若电子设备在第一刷新周期内的第一时刻接收第二用户操作,则第二刷新周期即为第四刷新周期,电子设备在第二刷新周期开始后绘制增量页面,并在第二刷新周期的后一刷新周期显示增量页面。
示例性的,如图28所示,电子设备在第一刷新周期内绘制增量页面中的预绘制页面。若电子设备在第二刷新周期内的第一时刻接收第二用户操作,则第二刷新周期的后一刷新周期为第四刷新周期。电子设备在第二刷新周期的后一刷新周期依旧显示基础页面,第一电子设备在第二刷新周期的后一刷新周期开始后绘制增量页面,并在第四刷新周期的后一刷新周期显示增量页面。
可以理解,增量页面是高负载页面,所需绘制时间可能超过刷新周期,由于本申请实施例所提的页面绘制方法在第一刷新周期提前对增量页面新增部分的部分页面进行预绘制,从而分担了第四刷新周期内绘制增量页面的压力,缩短了第四刷新周期内绘制增量页面的时间。因此,本申请实施例所提的页面绘制方法可以有效降低第四刷新周期内增量页面的绘制时间超过刷新周期的可能性,进而有效避免了“丢帧”问题,提高了页面流畅性。
图29为本申请实施例提供的另一种页面绘制方法的流程示意图。请参见图29,该方法可以包括但不限于步骤S301至步骤S303。其中:
S301、电子设备接收显示指令,显示指令用于指示电子设备显示第一应用程序页面中的基础页面。
本申请实施例中,用户可以上下滑动第一应用程序页面,以查看第一应用程序页面的更多内容。参考图9C,第一页面是第一应用程序页面的一部分。
本申请实施例中,上述显示指令可以是前述实施例中的第一指令。参考图11和图12,若第一刷新周期内电子设备接收到第一指令,则在第一刷新周期电子设备绘制基础页面。若在第一刷新周期内电子设备未接收到第一指令,则在第一刷新周期电子设备无需绘制页面。
本申请实施例中,第一应用程序页面包括B个连续的子页面。参考图17至图18对应的实施例,基础页面包括B个连续子页面中的第i个子页面至第i+m个子页面,B为大于零的正整数,m为小于B的正整数;第i个子页面在基础页面中的高度大于等于零小于第i个子页面的高度,第i+m个子页面在基础页面中的高度大于等于零小于第i+m个子页面的高度,当第i个子页面在基础页面中的高度大于零且小于第i个子页面的高度时,第i个子页面在基础页面中是不完整子页面。
S302、电子设备在第一刷新周期绘制预绘制页面,在第一应用程序页面中预绘制页面与基础页面相邻。
在一些实施例中,上述电子设备在第一刷新周期绘制预绘制页面,包括:当电子设备在第一刷新周期不绘制页面或者在第一刷新周期内绘制的基础页面的历史绘制时间小于第一时间阈值时,预测第二刷新周期是否绘制高负载页面;当预测第二刷新周期绘制高负载页面时,电子设备在第一刷新周期绘制预绘制页面。
在一些实施例中,上述电子设备在第一刷新周期绘制预绘制页面,包括:当电子设备在第一刷新周期不绘制页面,或者在第一刷新周期内绘制的基础页面的历史绘制时间小于第一时间阈值,且在第一刷新周期内绘制的基础页面的历史CPU使用率小于第一时间阈值时,预测第二刷新周期是否绘制高负载页面;当预测第二刷新周期绘制高负载页面时,电子设备在第一刷新周期绘制预绘制页面。
在一些实施例中,上述电子设备在第一刷新周期绘制预绘制页面,包括:电子设备将第一参数从第一高度值修改为第二高度值;第一参数用于控制电子设备在第一刷新周期内绘制的页面的高度,第二高度值等于第一高度值加上预绘制高度;若第一刷新周期的前一刷新内接收到显示指令,则第一高度值为基础页面的高度,第一刷新周期用于绘制基础页面和预绘制页面;若第一刷新周期的前一刷新内未接收到显示指令,则第一高度值为零,第一刷新周期用于仅绘制预绘制页面;电子设备在第一刷新周期根据第一参数绘制预绘制页面。具体的,可以参考图23和图24对应的实施例,此处不再赘述。
在一些实施例中,上述电子设备在第一刷新周期绘制预绘制页面之前,还包括:确定预绘制页面的高度。
可选的,上述确定预绘制页面的高度,包括:若第三刷新周期内未接收到第一指令,则确定预绘制页面的高度为w1,若第三刷新周期内接收到第一指令,则确定预绘制页面的高度为w2,其中w2小于w1。
可选的,若第一应用程序页面包括来源页面,w2取值为w3;若第一应用程序页面不包括来源页面,w2取值为w4,其中,w4小于w3。
可选的,基础页面的新增部分的历史绘制时间越大,w2越小。
可选的,上述预测第二刷新周期是否绘制高负载页面之前,还包括:记录第一应用程序页面的第一子页面的T次绘制时间;根据第一子页面的T个绘制时间数据,获取第一子页面的历史绘制时间。如何根据第一子页面的T个绘制时间,获取第一子页面的历史绘制时间可参考前述实施例,此处不再赘述。
可选的,上述预测第二刷新周期是否绘制高负载页面之前,还包括:记录第一应用程序页面的第一子页面的T次CPU使用率;根据第一子页面的T个CPU使用率数据,获取第一子页面的历史CPU使用率。如何根据第一子页面的T个CPU使用率,获取第一子页面的历史CPU使用率可参考前述实施例,此处不再赘述。
S303、电子设备在第二刷新周期显示基础页面,第二刷新周期是第一刷新周期的后一刷新周期。
S304、在电子设备接收滑动操作后,电子设备显示增量页面;滑动操作用于指示电子设备显示增量页面,第一应用程序页面包括增量页面。
在一些实施例中,预绘制页面与增量页面有重叠。
滑动操作可以是参考前述实施例中的第二用户操作。示例性,如图26所示,滑动操作用于指示电子设备将电子设备显示的基础页面更新为增量页面。
在一些实施例中,上述电子设备显示增量页面之前,还包括:电子设备在接收滑动操作后的下一刷新周期绘制增量页面。
可以理解,本申请实施例中提前绘制了预绘制页面,可以减少第二刷新周期内增量页面的绘制时间。
在一些实施例中,上述预测第二刷新周期是否绘制高负载页面,包括:确定增量页面是否有为高负载页面的可能性;若有,则预测第二刷新周期绘制高负载页面。
本申请实施例中,增量页面可以包括B个连续子页面中的第i+q个页面至第i+m+P个子页面,增量页面的新增部分包括基础页面和增量页面的非重叠部分,即第i+m个子页面至第i+m+P个子页面,第max(i+m,i+q)个子页面在增量页面的新增部分中的高度大于等于零小于第i+m个子页面的高度,第i+m+P个子页面在增量页面中的高度大于等于零小于第i+m+P个子页面的高度,q为大于零小于等于第一数值的正整数,P为大于零小于等于第二数值的正整数,max(i+m,i+q)表示i+m和i+q中的最大值。
可以理解,若m小于q,预绘制页面和增量页面没有重叠,若m大于q,预绘制页面和增量页面有重叠。示例性的,图26是预绘制页面和增量页面有重叠的示意图。
可选的,上述确定增量页面是否有为高负载页面的可能性,包括:在q和P的取值范围内,若存在增量页面的新增部分的历史绘制时间大于等于第二时间阈值,则确定增量页面有为高负载页面的可能性。
可选的,上述确定增量页面是否有为高负载页面的可能性,包括:可选的,上述确定增量页面是否有为高负载页面的可能性,包括:在q和P的取值范围内,若存在增量页面的新增部分的历史绘制时间大于等于第二时间阈值,且增量页面的新增部分的历史CPU使用率大于等于第二使用率阈值,则确定增量页面是否有为高负载页面的可能性。
可选的,第一数值等于m。
具体的,如图22所示当q等于m时,如何确定增量页面是否有为高负载页面的可能性可参考前述方案一对应的实施例,此处不再赘述。
在一些实施例中,上述预测第二刷新周期是否绘制高负载页面,包括:根据预绘制页面的高度确定预绘制页面包含第一应用程序页面的第i+m个子页面至第i+m+Q个子页面,第i+m+Q个子页面在预绘制页面中的高度大于等于零小于第i+m+Q个子页面的高度,Q为大于零的正整数;判断预绘制页面是否满足第三条件;若满足,则预测第二刷新周期绘制高负载页面。
具体的,如何确定增量页面是否有为高负载页面的可能性可参考前述方案二对应的实施例,此处不再赘述。可选的,第三条件为预绘制页面的历史绘制时间大于等于第三时间阈值。
可选的,第三条件为预绘制页面的历史绘制时间大于等于第三时间阈值,且预绘制页面的历史CPU使用率大于等于第三使用率阈值。
可选的,若第一刷新周期的前一刷新内接收到显示指令,则第一刷新周期用于显示来源页面,当第一应用程序页面包括来源页面时,基础页面的新增部分为来源页面和基础页面的非重叠部分,当第一应用程序页面不包括来源页面,基础页面的新增部分为基础页面;若第一刷新周期的前一刷新内未接收到显示指令,基础页面的新增部分为基础页面。
示例性的,来源页面如图21所示。
在一些实施例中,第一刷新周期内绘制的基础页面的历史绘制时间等于基础页面的新增部分的历史绘制时间。如何获取基础页面的新增部分的历史绘制时间可参考前述实施例,此处不再赘述。
如何获取上述增量页面新增部分的历史绘制时间、预绘制页面的历史绘制时间、增量页面的新增部分的历史绘制时间、基础页面的新增部分的历史CPU使用率、增量页面新增部分的历史CPU使用率和/或预绘制页面的历史CPU使用率均可参考前述实施例,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何可用介质。
作为一种可选的设计,计算机可读存储介质可以包括RAM,ROM,EEPROM,CD-ROM或其它光盘存储器,磁盘存储器或其它磁存储设备,或可用于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例还提供了一种计算机程序产品。上述方法实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,可以全部或者部分得通过计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照上述方法实施例中描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (29)

1.一种页面绘制方法,应用在有显示界面的电子设备,其特征在于,包括:
电子设备接收显示指令,所述显示指令用于指示所述电子设备显示第一应用程序页面中的基础页面;
所述电子设备在所述第一刷新周期绘制预绘制页面,在所述第一应用程序页面中所述预绘制页面与所述基础页面相邻;
所述电子设备在第二刷新周期显示所述基础页面,所述第二刷新周期是所述第一刷新周期的后一刷新周期;
在所述电子设备接收滑动操作后,所述电子设备显示增量页面;所述滑动操作用于指示所述电子设备显示所述增量页面,所述第一应用程序页面包括所述增量页面。
2.根据权利要求1所述的方法,其特征在于,所述增量页面与所述预绘制页面有重叠。
3.根据权利要求1所述的方法,其特征在于,所述电子设备在所述第一刷新周期绘制预绘制页面,包括:
当所述电子设备在所述第一刷新周期不绘制页面或者在所述第一刷新周期内绘制的所述基础页面的历史绘制时间小于所述第一时间阈值时,预测所述第二刷新周期是否绘制高负载页面;
当预测所述第二刷新周期绘制高负载页面时,所述电子设备在所述第一刷新周期绘制所述预绘制页面。
4.根据权利要求1所述的方法,其特征在于,所述电子设备在所述第一刷新周期绘制预绘制页面,包括:
当所述电子设备在所述第一刷新周期不绘制页面,或者在所述第一刷新周期内绘制的所述基础页面的历史绘制时间小于所述第一时间阈值,且在所述第一刷新周期内绘制的所述基础页面的历史CPU使用率小于所述第一时间阈值时,预测所述第二刷新周期是否绘制高负载页面;
当预测所述第二刷新周期绘制高负载页面时,所述电子设备在所述第一刷新周期绘制所述预绘制页面。
5.根据权利要求1所述的方法,其特征在于,所述电子设备显示所述增量页面之前,还包括:
所述电子设备在接收所述滑动操作后的下一刷新周期绘制所述增量页面。
6.根据权利要求1所述的方法,其特征在于,所述电子设备在所述第一刷新周期绘制预绘制页面之前,还包括:
确定所述预绘制页面的高度。
7.根据权利要求1所述的方法,其特征在于,所述电子设备在所述第一刷新周期绘制所述预绘制页面,包括:
所述电子设备将第一参数从第一高度值修改为第二高度值;所述第一参数用于控制所述电子设备在所述第一刷新周期内绘制的页面的高度,所述第二高度值等于所述第一高度值加上预绘制高度;若所述第一刷新周期的前一刷新内接收到所述显示指令,则所述第一高度值为所述基础页面的高度,所述第一刷新周期用于绘制所述基础页面和所述预绘制页面;若所述第一刷新周期的前一刷新内未接收到所述显示指令,则所述第一高度值为零,所述第一刷新周期用于仅绘制所述预绘制页面;
所述电子设备在所述第一刷新周期根据所述第一参数绘制所述预绘制页面。
8.根据权利要求3或4所述的方法,其特征在于,所述第一应用程序页面包括B个连续的子页面,所述基础页面包括所述B个连续子页面中的第i个子页面至第i+m个子页面,B为大于零的正整数,m为小于B的正整数;所述第i个子页面在所述基础页面中的高度大于等于零小于所述第i个子页面的高度,所述第i+m个子页面在所述基础页面中的高度大于等于零小于所述第i+m个子页面的高度,当所述第i个子页面在所述基础页面中的高度大于零且小于所述第i个子页面的高度时,所述第i个子页面在所述基础页面中是不完整子页面;所述预测第二刷新周期是否绘制高负载页面之前,还包括:
记录所述第一应用程序页面的第一子页面的T次绘制时间;
根据所述第一子页面的T个绘制时间数据,获取所述第一子页面的历史绘制时间。
9.根据权利要求3或4所述的方法,其特征在于,所述第一刷新周期内绘制的所述基础页面的历史绘制时间等于所述基础页面的新增部分的历史绘制时间;所述基础页面的新增部分的历史绘制时间等于:
所述基础页面的新增部分中的完整子页面和所述基础页面的新增部分中的不完整子页面的历史绘制时间之和;
或者,
所述基础页面的新增部分中的完整子页面的历史绘制时间之和;
或者,
所述基础页面的新增部分中的完整子页面的历史绘制时间之和,加上所述基础页面的新增部分中的不完整子页面的理论绘制时间后的所得值;其中,所述基础页面的新增部分中不完整的第二子页面的理论绘制时间等于所述第二子页面的历史绘制时间乘上第一比例,所述第一比例等于所述第二子页面在所述基础页面新增部分中的高度比上第二子页面的高度;
或者,
所述基础页面的新增部分中的完整子页面的历史绘制时间之和,加上所述基础页面的新增部分中的不完整子页面的历史绘制时间的平均值后的所得值。
10.根据权利要求3或4所述的方法,其特征在于,所述预测第二刷新周期是否绘制高负载页面,包括:
确定所述增量页面是否有为高负载页面的可能性;
当所述增量页面有为高负载页面的可能性时,则预测所述第二刷新周期绘制高负载。
11.根据权利要求8所述的方法,其特征在于,所述增量页面包括所述B个连续子页面中的第i+q个页面至第i+m+P个子页面,增量页面的新增部分包括所述基础页面和所述增量页面的非重叠部分,即第max(i+m,i+q)个子页面至所述第i+m+P个子页面,所述第i+m个子页面在所述增量页面的新增部分中的高度大于等于零小于所述第i+m个子页面的高度,所述第i+m+P个子页面在所述增量页面中的高度大于等于零小于所述第i+m+P个子页面的高度,q为大于零小于第一数值的正整数,P为大于零小于等于第二数值的正整数,max(i+m,i+q)表示i+m和i+q中的最大值。
12.根据权利要求10所述的方法,其特征在于,所述确定所述增量页面是否有为高负载页面的可能性,包括:
在q和P的取值范围内,当存在所述增量页面的新增部分的历史绘制时间大于等于第二时间阈值时,确定所述增量页面有为高负载页面的可能性。
13.根据权利要求12所述的方法,其特征在于,所述增量页面新增部分的历史绘制时间等于:
所述增量页面的新增部分中的完整子页面和所述增量页面的新增部分中的不完整子页面的历史绘制时间之和;
或者,
所述增量页面的新增部分中的完整子页面的历史绘制时间之和;
或者,
所述增量页面的新增部分中的完整子页面的历史绘制时间之和,加上所述增量页面的新增部分中的不完整子页面的理论绘制时间后的所得值;其中,所述增量页面的新增部分中不完整的第三子页面的理论绘制时间等于所述第三子页面的历史绘制时间乘上第二比例,所述第二比例等于所述第三子页面在所述增量页面新增部分中的高度比上第三子页面的高度;
或者,
所述增量页面的新增部分中的完整子页面的历史绘制时间之和,加上所述增量页面的新增部分中的不完整子页面的历史绘制时间的平均值后的所得值。
14.根据权利要求3或4所述的方法,其特征在于,所述预测第二刷新周期是否绘制高负载页面,包括:
根据所述预绘制页面的高度确定所述预绘制页面包含所述第一应用程序页面的第i+m个子页面至第i+m+Q个子页面,所述第i+m+Q个子页面在所述预绘制页面中的高度大于等于零小于第i+m+Q个子页面的高度,Q为大于零的正整数;
判断所述预绘制页面是否满足第三条件;
当所述预绘制页面满足第三条件时,预测所述第二刷新周期绘制高负载页面。
15.根据权利要求14所述的方法,其特征在于,所述第三条件为所述预绘制页面的历史绘制时间大于等于第三时间阈值,所述预绘制页面的历史绘制时间等于:
所述预绘制页面中的完整子页面和所述预绘制页面中的不完整子页面的历史绘制时间之和;
或者,
所述预绘制页面中的完整子页面的历史绘制时间之和;
或者,
所述预绘制页面中的完整子页面的历史绘制时间之和,加上预绘制页面中的不完整子页面的理论绘制时间后的所得值;其中,所述预绘制页面中不完整的第四子页面的理论绘制时间等于所述第四子页面的历史绘制时间乘上第三比例,所述第三比例等于所述第四子页面在所述预绘制页面中的高度比上第四子页面的高度;
或者,
所述预绘制页面中的完整子页面的历史绘制时间之和,加上所述预绘制页面的不完整子页面的历史绘制时间的平均值后的所得值。
16.根据权利要求4所述的方法,其特征在于,所述第一刷新周期内绘制的所述基础页面的历史CPU使用率等于所述基础页面的新增部分的历史CPU使用率;所述基础页面的新增部分的历史CPU使用率等于:
所述基础页面的新增部分中的完整子页面和所述基础页面的新增部分中的不完整子页面的历史CPU使用率之和;
或者,
所述基础页面的新增部分中的完整子页面的历史CPU使用率之和;
或者,
所述基础页面的新增部分中的完整子页面的历史CPU使用率之和,加上所述基础页面的新增部分中的不完整子页面的理论CPU使用率后的所得值;其中,所述基础页面的新增部分中不完整的第二子页面的理论CPU使用率等于所述第二子页面的历史CPU使用率乘上第一比例,所述第一比例等于所述第二子页面在所述基础页面新增部分中的高度比上所述第二子页面的高度;
或者,
所述基础页面的新增部分中的完整子页面的历史CPU使用率之和,加上所述基础页面的新增部分中的不完整子页面的历史CPU使用率的平均值后的所得值。
17.根据权利要求9或16所述的方法,其特征在于,若所述第一刷新周期的前一刷新内接收到所述显示指令,则所述第一刷新周期用于显示来源页面,当所述第一应用程序页面包括所述来源页面时,所述基础页面的新增部分为所述来源页面和所述基础页面的非重叠部分,当所述第一应用程序页面不包括所述来源页面,所述基础页面的新增部分为所述基础页面;若所述第一刷新周期的前一刷新内未接收到所述显示指令,所述基础页面的新增部分为所述基础页面。
18.根据权利要求10所述的方法,其特征在于,所述确定所述增量页面是否有为高负载页面的可能性,包括:
在q和P的取值范围内,当存在所述增量页面的新增部分的历史绘制时间大于等于所述第二时间阈值,且所述增量页面的新增部分的历史CPU使用率大于等于第二使用率阈值时,确定所述增量页面是否有为高负载页面的可能性。
19.根据权利要求18所述的方法,其特征在于,所述增量页面新增部分的历史CPU使用率等于:
所述增量页面的新增部分中的完整子页面和所述增量页面的新增部分中的不完整子页面的历史CPU使用率之和;
或者,
所述增量页面的新增部分中的完整子页面的历史CPU使用率之和;
或者,
所述增量页面的新增部分中的完整子页面的历史CPU使用率之和,加上所述增量页面的新增部分中的不完整子页面的理论CPU使用率后的所得值;其中,所述增量页面的新增部分中不完整的第三子页面的理论CPU使用率等于所述第三子页面的历史CPU使用率乘上第二比例,所述第二比例等于所述第三子页面在所述增量页面新增部分中的高度比上第三子页面的高度;
或者,
所述增量页面的新增部分中的完整子页面的历史CPU使用率之和,加上所述增量页面的新增部分中的不完整子页面的历史CPU使用率的平均值后的所得值。
20.根据权利要求14所述的方法,其特征在于,第三条件为所述预绘制页面的历史绘制时间大于等于所述第三时间阈值,且所述预绘制页面的历史CPU使用率大于等于第三使用率阈值;所述预绘制页面的历史CPU使用率等于:
所述预绘制页面中的完整子页面和所述预绘制页面中的不完整子页面的历史CPU使用率之和;
或者,
所述预绘制页面中的完整子页面的历史CPU使用率之和;
或者,
所述预绘制页面中的完整子页面的历史CPU使用率之和,加上预绘制页面中的不完整子页面的理论CPU使用率后的所得值;其中,所述预绘制页面中不完整的第四子页面的理论CPU使用率等于所述第四子页面的历史CPU使用率乘上第三比例,所述第三比例等于所述第三子页面在所述预绘制页面中的高度比上第三子页面的高度;
或者,
所述预绘制页面中的完整子页面的历史CPU使用率之和,加上所述预绘制页面的不完整子页面的历史CPU使用率的平均值后的所得值。
21.根据权利要求8所述的方法,其特征在于,所述预测第二刷新周期是否绘制高负载页面之前,还包括:
记录所述第一应用程序页面的第一子页面的T次CPU使用率;
根据所述第一子页面的T个CPU使用率数据,获取所述第一子页面的历史CPU使用率。
22.根据权利要求6所述的方法,其特征在于,所述确定所述预绘制页面的高度,包括:
若所述第三刷新周期内未接收到所述第一指令,则确定所述预绘制页面的高度为w1,若所述第三刷新周期内接收到所述第一指令,则确定所述预绘制页面的高度为w2,其中w2小于w1。
23.根据权利要求22所述的方法,其特征在于,若所述第一应用程序页面包括所述来源页面,w2取值为w3;若所述第一应用程序页面不包括所述来源页面,w2取值为w4,其中,w4小于w3。
24.根据权利要求22所述的方法,其特征在于,所述基础页面的新增部分的历史绘制时间越大,w2越小。
25.根据权利要求8所述的方法,其特征在于,所述根据所述第一子页面的T个绘制时间,获取所述第一子页面的历史绘制时间,包括:
获取所述第一子页面的T个绘制时间数据的平均值,所述第一子页面的历史绘制时间等于所述T个绘制时间数据的平均值;
或者,
将所述T个绘制时间数据的最小值和所述T个绘制时间数据的最大值之间的时间范围,划分L个连续的长度相等的时间范围;
确定包含所述T个绘制时间数据中的绘制时间数据最多的一或多个时间范围;
获取所述一或多个时间范围的平均值,所述第一子页面的历史绘制时间等于所述一或多个时间范围的平均值。
26.根据权利要求21所述的方法,其特征在于,所述根据所述第一子页面的T个CPU使用率,获取所述第一子页面的历史CPU使用率,包括:
获取所述第一子页面的T个CPU使用率数据的平均值,所述第一子页面的历史CPU使用率等于所述T个CPU使用率数据的平均值;
或者,
将所述T个CPU使用率数据的最小值和所述T个CPU使用率数据的最大值之间的使用率范围,划分L个连续的长度相等的使用率范围;
确定包含所述T个CPU使用率数据中的CPU使用率数据最多的一或多个使用率范围;
获取所述一或多个使用率范围的平均值,所述第一子页面的历史CPU使用率等于所述一或多个使用率范围的平均值。
27.一种电子设备,包括触控屏,存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中,所述一个或多个程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至26任一项所述的方法。
28.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至26任一项所述的方法。
29.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至26任一项所述的方法。
CN201911419974.2A 2019-12-31 2019-12-31 一种页面绘制方法及相关装置 Active CN113132526B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911419974.2A CN113132526B (zh) 2019-12-31 2019-12-31 一种页面绘制方法及相关装置
PCT/CN2020/134271 WO2021135838A1 (zh) 2019-12-31 2020-12-07 一种页面绘制方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911419974.2A CN113132526B (zh) 2019-12-31 2019-12-31 一种页面绘制方法及相关装置

Publications (2)

Publication Number Publication Date
CN113132526A true CN113132526A (zh) 2021-07-16
CN113132526B CN113132526B (zh) 2022-07-22

Family

ID=76686557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911419974.2A Active CN113132526B (zh) 2019-12-31 2019-12-31 一种页面绘制方法及相关装置

Country Status (2)

Country Link
CN (1) CN113132526B (zh)
WO (1) WO2021135838A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741380A (zh) * 2021-11-08 2021-12-03 西安热工研究院有限公司 Dcs监视画面刷新方法、系统、设备及可读存储介质
CN114327738A (zh) * 2022-03-14 2022-04-12 恒生电子股份有限公司 用户界面的刷新方法、装置、电子设备及可读存储介质
CN116257235A (zh) * 2021-12-10 2023-06-13 华为技术有限公司 绘制方法及电子设备
CN116600175A (zh) * 2023-07-18 2023-08-15 荣耀终端有限公司 丢帧预测方法和电子设备
CN116643831A (zh) * 2023-07-27 2023-08-25 城云科技(中国)有限公司 Canvas绘制重叠文字的优化方法、装置及其应用

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327183A (zh) * 2021-12-24 2022-04-12 Oppo广东移动通信有限公司 应用控制方法、装置、电子设备、芯片及存储介质
CN114327194A (zh) * 2021-12-30 2022-04-12 展讯通信(上海)有限公司 列表滑动的控制方法、装置及终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309563A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 已显示页面的切换方法及装置
CN104423784A (zh) * 2013-09-04 2015-03-18 腾讯科技(深圳)有限公司 一种页面显示的方法和装置
CN104808984A (zh) * 2015-03-24 2015-07-29 魅族科技(中国)有限公司 显示界面刷新方法及装置
CN106708495A (zh) * 2015-11-18 2017-05-24 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
CN106777184A (zh) * 2016-12-22 2017-05-31 北京猎豹移动科技有限公司 一种页面加载方法、装置及电子设备
US20180018063A1 (en) * 2016-07-14 2018-01-18 Intent Media, Inc. Graphical user interface and system for viewing landing page content
CN110515610A (zh) * 2019-06-27 2019-11-29 华为技术有限公司 页面绘制的控制方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158521A1 (en) * 2010-12-15 2012-06-21 Mccullen Nicholas System and Method for Personalized Secure Website Portal
US20130298034A1 (en) * 2012-05-02 2013-11-07 Google, Inc. Delayed command servicing in an application executed on a network accessible device
CN106504026A (zh) * 2016-10-26 2017-03-15 广州华多网络科技有限公司 一种数据获取方法和装置
CN107479894A (zh) * 2017-08-21 2017-12-15 奇酷互联网络科技(深圳)有限公司 应用程序提速方法、系统、移动终端及可读存储介质
CN108595230B (zh) * 2018-05-15 2020-03-27 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN110286928A (zh) * 2019-06-25 2019-09-27 北京字节跳动网络技术有限公司 应用程序的界面元素更新方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309563A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 已显示页面的切换方法及装置
CN104423784A (zh) * 2013-09-04 2015-03-18 腾讯科技(深圳)有限公司 一种页面显示的方法和装置
CN104808984A (zh) * 2015-03-24 2015-07-29 魅族科技(中国)有限公司 显示界面刷新方法及装置
CN106708495A (zh) * 2015-11-18 2017-05-24 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
US20180018063A1 (en) * 2016-07-14 2018-01-18 Intent Media, Inc. Graphical user interface and system for viewing landing page content
CN106777184A (zh) * 2016-12-22 2017-05-31 北京猎豹移动科技有限公司 一种页面加载方法、装置及电子设备
CN110515610A (zh) * 2019-06-27 2019-11-29 华为技术有限公司 页面绘制的控制方法、装置及设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741380A (zh) * 2021-11-08 2021-12-03 西安热工研究院有限公司 Dcs监视画面刷新方法、系统、设备及可读存储介质
CN116257235A (zh) * 2021-12-10 2023-06-13 华为技术有限公司 绘制方法及电子设备
CN116257235B (zh) * 2021-12-10 2024-09-17 华为技术有限公司 绘制方法及电子设备
CN114327738A (zh) * 2022-03-14 2022-04-12 恒生电子股份有限公司 用户界面的刷新方法、装置、电子设备及可读存储介质
CN116600175A (zh) * 2023-07-18 2023-08-15 荣耀终端有限公司 丢帧预测方法和电子设备
CN116600175B (zh) * 2023-07-18 2023-10-20 荣耀终端有限公司 丢帧预测方法和电子设备
CN116643831A (zh) * 2023-07-27 2023-08-25 城云科技(中国)有限公司 Canvas绘制重叠文字的优化方法、装置及其应用
CN116643831B (zh) * 2023-07-27 2023-10-13 城云科技(中国)有限公司 Canvas绘制重叠文字的优化方法、装置及其应用

Also Published As

Publication number Publication date
CN113132526B (zh) 2022-07-22
WO2021135838A1 (zh) 2021-07-08

Similar Documents

Publication Publication Date Title
KR102470275B1 (ko) 음성 제어 방법 및 전자 장치
WO2021129326A1 (zh) 一种屏幕显示方法及电子设备
WO2021027747A1 (zh) 一种界面显示方法及设备
CN109814766B (zh) 一种应用显示方法及电子设备
CN110597512B (zh) 显示用户界面的方法及电子设备
CN113132526B (zh) 一种页面绘制方法及相关装置
WO2021036571A1 (zh) 一种桌面的编辑方法及电子设备
WO2021103981A1 (zh) 分屏显示的处理方法、装置及电子设备
CN113645351B (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN110362244B (zh) 一种分屏方法及电子设备
CN110119296B (zh) 切换父页面和子页面的方法、相关装置
CN113994317A (zh) 一种用户界面布局方法及电子设备
CN114363462B (zh) 一种界面显示方法、电子设备及计算机可读介质
CN113986070B (zh) 一种应用卡片的快速查看方法及电子设备
CN110633043A (zh) 一种分屏处理方法及终端设备
CN111669459A (zh) 键盘显示方法、电子设备和计算机可读存储介质
WO2021190524A1 (zh) 截屏处理的方法、图形用户接口及终端
CN112068907A (zh) 一种界面显示方法和电子设备
WO2020155875A1 (zh) 电子设备的显示方法、图形用户界面及电子设备
WO2022206681A1 (zh) 一种窗口的显示方法以及相关装置
CN114205457A (zh) 一种移动用户界面元素的方法及电子设备
CN113867657A (zh) 跨设备桌面管理方法、第一电子设备及第二电子设备
WO2024046010A1 (zh) 一种界面显示方法、设备及系统
WO2024067551A1 (zh) 界面显示方法及电子设备
WO2024139934A1 (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