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

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

Info

Publication number
WO2021135838A1
WO2021135838A1 PCT/CN2020/134271 CN2020134271W WO2021135838A1 WO 2021135838 A1 WO2021135838 A1 WO 2021135838A1 CN 2020134271 W CN2020134271 W CN 2020134271W WO 2021135838 A1 WO2021135838 A1 WO 2021135838A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
historical
subpage
drawn
sub
Prior art date
Application number
PCT/CN2020/134271
Other languages
English (en)
French (fr)
Inventor
李加润
贾灿
朱建华
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021135838A1 publication Critical patent/WO2021135838A1/zh

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

Definitions

  • This application relates to the field of electronic technology, and in particular to a page drawing method and related devices.
  • the embodiments of the present application provide a page drawing method and related devices, which can improve page fluency and user experience.
  • this application provides a page drawing method applied to an electronic device with a display interface, including: the electronic device receives a display instruction, and the display instruction is used to instruct the electronic device to display the basic page in the first application page; The device draws the pre-drawn page in the first refresh period, and the pre-drawn page is adjacent to the basic page in the first application page; the electronic device displays the basic page in the second refresh period, which is the second refresh period after the first refresh period Refresh cycle; after the electronic device receives the sliding operation, the electronic device displays the incremental page; the sliding operation is used to instruct the electronic device to display the incremental page, and the first application page includes the incremental page.
  • the electronic device draws the pre-drawn page in advance in the first refresh period, which can reduce the drawing time of the incremental page in the second refresh period, thereby improving page fluency and user experience.
  • the pre-drawn page overlaps with the incremental page.
  • the above-mentioned electronic device drawing the pre-drawn page in the first refresh period includes: when the electronic device does not draw the page in the first refresh period or the historical drawing time of the basic page drawn in the first refresh period When it is less than the first time threshold, predict whether the high-load page will be drawn in the second refresh period; when it is predicted that the high-load page will be drawn in the second refresh period, the electronic device draws the pre-drawn page in the first refresh period.
  • the above-mentioned electronic device draws the pre-drawn page in the first refresh period, including: when the electronic device does not draw the page in the first refresh period, or the historical drawing of the basic page drawn in the first refresh period When the time is less than the first time threshold, and the historical CPU usage of the basic page drawn in the first refresh cycle is less than the first time threshold, predict whether the second refresh cycle will draw a high-load page; when it is predicted that the second refresh cycle will draw a high-load When the page is displayed, the electronic device draws the pre-drawn page in the first refresh period.
  • the electronic device before the above electronic device displays the incremental page, it further includes: the electronic device draws the incremental page in the next refresh period after receiving the sliding operation.
  • the method before the electronic device draws the pre-drawn page in the first refresh period, the method further includes: determining the height of the pre-drawn page.
  • the above-mentioned electronic device draws the pre-drawn page in the first refresh period, including: the electronic device modifies the first parameter from the first height value to the second height value; the first parameter is used to control the electronic device The height of the page drawn in the first refresh period, the second height value is equal to the first height value plus the pre-drawn height; if a display command is received in the previous refresh of the first refresh period, the first height value is the base page The first refresh period is used to draw the basic page and the pre-drawn page; if the display command is not received in the previous refresh of the first refresh period, the first height value is zero, and the first refresh period is used to only draw the pre-drawn page. Draw the page; the electronic device draws the pre-drawn page according to the first parameter in the first refresh period.
  • the above-mentioned first application page includes B consecutive sub-pages
  • the basic page includes the i-th sub-page to the i+m-th sub-page among the B consecutive sub-pages, and B is greater than zero Positive integer
  • m is a positive integer less than B
  • the height of the i-th subpage in the base page is greater than or equal to zero and less than the height of the i-th subpage
  • the height of the i+mth subpage in the base page is greater than or equal to zero and less than the above
  • the height of the i+mth subpage when the height of the i-th subpage in the base page is greater than zero and smaller than the height of the i-th subpage.
  • the above i-th subpage is an incomplete subpage in the basic page; before predicting whether the high-load page is drawn in the second refresh cycle, it also includes: recording the T drawing time of the first subpage of the first application page; T drawing time data of the sub-page, and obtain the historical drawing time of the first sub-page.
  • the historical drawing time of the base page drawn in the first refresh period is equal to the historical drawing time of the newly added part of the base page;
  • the historical drawing time of the newly added part of the base page is equal to: The sum of the historical drawing time of the complete subpage in the newly added part and the incomplete subpage in the newly added part of the base page; or, the sum of the historical drawing time of the complete subpage in the newly added part of the base page; or, The sum of the historical drawing time of the complete subpage in the new part of the base page, plus the theoretical drawing time of the incomplete subpage in the new part of the base page; among them, the value of the new part of the base page
  • the theoretical drawing time of the incomplete second sub-page is equal to the historical drawing time of the second sub-page multiplied by the first ratio.
  • the first ratio is equal to the height of the second sub-page in the new part of the base page than the second sub-page. Height; or, the sum of the historical drawing time of the complete subpages in the newly added part of the base page, plus the average value of the historical drawing time of the incomplete subpages in the newly added part of the base page.
  • predicting whether the high-load page is drawn in the second refresh cycle includes: determining whether the incremental page is likely to be a high-load page, and when the incremental page is likely to be a high-load page When the second refresh cycle is predicted to draw a high-load page.
  • the incremental page includes the i+qth page to the i+m+Pth subpage among the B consecutive subpages
  • the new part of the incremental page includes the basic page and the incremental page
  • the non-overlapping part of, that is, the above max(i+m, i+q)th subpage to the i+m+Pth subpage, the height of the i+mth subpage in the newly added part of the incremental page is greater than Equal to zero and less than the height of the i+mth subpage, the height of the i+m+Pth subpage in the incremental page is greater than or equal to zero and less than the height of the i+m+Pth subpage, q is greater than zero and less than or equal to the height of the i+m+Pth subpage.
  • a positive integer of one value, P is a positive integer greater than zero and less than or equal to the second value
  • max(i+m, i+q) represents the maximum value of i+m and i+q.
  • the foregoing determination of whether the incremental page has the possibility of being a high-load page includes: within the value range of P, when the historical drawing time of the new part of the incremental page is greater than or equal to the first At the second time threshold, it is determined that the incremental page has the possibility of being a high-load page.
  • the history drawing time of the newly added part of the incremental page is equal to: the history of the complete subpage in the newly added part of the incremental page and the history of the incomplete subpage in the newly added part of the incremental page The sum of the drawing time; or, the sum of the historical drawing time of the complete subpage in the new part of the incremental page; or, the sum of the historical drawing time of the complete subpage in the new part of the incremental page, plus the increment
  • the value obtained after the theoretical drawing time of the incomplete subpage in the newly added part of the page; where the theoretical drawing time of the incomplete third subpage in the newly added part of the incremental page is equal to the historical drawing of the third subpage Time multiplied by the second ratio, the second ratio is equal to the height of the third subpage in the newly added part of the incremental page than the height of the third subpage; or, the history of the complete subpage in the newly added part of the incremental page The sum of the drawing time, plus the average value of the historical drawing time of the incomplete subpages in the newly added part of the incremental page.
  • predicting whether to draw a high-load page in the second refresh cycle includes: determining, according to the height of the pre-drawn page, that the pre-drawn page includes the i+mth to the i-th subpage of the first application page. +m+Q sub-pages, the height of the i+m+Q-th sub-page in the pre-drawn page is greater than or equal to zero and less than the height of the i+m+Q-th sub-page, Q is a positive integer greater than zero; judge the pre-drawn page Whether the third condition is met; when the pre-drawn page meets the third condition, it is predicted that the high-load page will be drawn in the second refresh cycle.
  • the third condition is that the historical drawing time of the pre-drawn page is greater than or equal to the third time threshold, and the historical drawing time of the pre-drawn page is equal to: the complete sub-page in the pre-drawn page and the pre-drawn page The sum of the historical drawing time of the incomplete sub-pages; or, the sum of the historical drawing time of the complete sub-pages in the pre-drawn page; or, the sum of the historical drawing time of the complete sub-pages in the pre-drawn page, plus the pre-drawn The value obtained after the theoretical drawing time of the incomplete sub-page in the page; where the theoretical drawing time of the incomplete fourth sub-page in the pre-drawn page is equal to the historical drawing time of the fourth sub-page multiplied by the third ratio, and the third The ratio is equal to the height of the fourth sub-page in the pre-drawn page than the height of the fourth sub-page; or, the sum of the historical drawing time of the complete sub-page in the pre-drawn page, plus the incomplete sub
  • the historical CPU usage rate of the basic page drawn in the first refresh cycle is equal to the historical CPU usage rate of the newly added part of the basic page;
  • the historical CPU usage rate of the newly added part of the basic page is equal to: The sum of the historical CPU usage of the complete subpage in the new part of the basic page and the incomplete subpage in the new part of the basic page; or, the historical CPU usage of the complete subpage in the new part of the basic page The sum; or, the sum of the historical CPU usage rates of the complete subpages in the newly added part of the basic page, plus the theoretical CPU usage rates of the incomplete subpages in the newly added part of the basic page;
  • the theoretical CPU usage of the incomplete second subpage in the new part of the base page is equal to the historical CPU usage of the second subpage multiplied by the first ratio, which is equal to the second subpage in the new part of the base page
  • the height of is higher than the height of the second subpage; or, the sum of the historical CPU usage of the complete subpages in the new part of the base page,
  • the first refresh period is used to display the source page.
  • the new The added part is the non-overlapping part of the source page and the basic page.
  • the newly added part of the basic page is the basic page; if the display command is not received during the previous refresh of the first refresh cycle, The new part of the basic page is the basic page.
  • the foregoing determination of whether the incremental page has the possibility of being a high-load page includes: within the value range of P, when the historical drawing time of the new part of the incremental page is greater than or equal to the first Two time thresholds, and when the historical CPU usage rate of the newly added portion of the incremental page is greater than or equal to the second usage threshold, it is determined whether the incremental page is likely to be a high-load page.
  • the historical CPU usage of the newly added part of the incremental page is equal to: the total subpage in the newly added part of the incremental page and the incomplete subpage in the newly added part of the incremental page The sum of historical CPU usage; or, the sum of historical CPU usage of complete subpages in the newly added part of the incremental page; or, the sum of historical CPU usage of complete subpages in the newly added part of the incremental page , Plus the theoretical CPU usage rate of the incomplete subpage in the newly added part of the incremental page; among them, the theoretical CPU usage rate of the third incomplete subpage in the newly added part of the incremental page is equal to the first The historical CPU usage of the three subpages is multiplied by the second ratio.
  • the second ratio is equal to the height of the third subpage in the new part of the incremental page than the height of the third subpage; or, the new part of the incremental page The sum of the historical CPU usage of the complete subpages in, plus the average value of the historical CPU usage of the incomplete subpages in the new part of the incremental page.
  • the third condition is that the historical drawing time of the pre-drawn page is greater than or equal to the third time threshold, and the historical CPU usage rate of the pre-drawn page is greater than or equal to the third usage threshold; the historical CPU of the pre-drawn page The usage rate is equal to: the sum of the historical CPU usage rates of the complete sub-pages in the pre-drawn page and the incomplete sub-pages in the pre-drawn page; or, the sum of the historical CPU usage rates of the complete sub-pages in the pre-drawn page; or, The sum of the historical CPU usage of the complete sub-pages in the pre-rendered page, plus the theoretical CPU usage of the incomplete sub-pages in the pre-rendered page; among them, the fourth sub-page that is incomplete in the pre-rendered page The theoretical CPU usage is equal to the historical CPU usage of the fourth sub-page multiplied by the third ratio, which is equal to the height of the third sub-page in the pre-drawn page than the height of the third sub-page;
  • the method before predicting whether the high-load page is drawn in the second refresh cycle, the method further includes: recording the CPU usage rate of the first sub-page of the first application page; and according to the T-times of the first sub-page. CPU usage data to obtain the historical CPU usage of the first subpage.
  • the above determining the height of the pre-drawn page includes: if the first instruction is not received in the third refresh period, determining that the height of the pre-drawn page is w1, if the height of the pre-drawn page is received in the third refresh period The first instruction determines that the height of the pre-drawn page is w2, where w2 is smaller than w1.
  • w2 if the first application page includes the source page, w2 takes the value w3; if the first application page does not include the source page, w2 takes the value w4, where w4 is smaller than w3.
  • the above-mentioned obtaining the historical drawing time of the first sub-page according to the T drawing times of the first sub-page includes: obtaining an average value of the above-mentioned T drawing time data of the first sub-page, and The historical drawing time of a sub-page is equal to the average value of the above T drawing time data; or, dividing the time range between the minimum value of the above T drawing time data and the maximum value of the above T drawing time data into L continuous Time ranges of equal length; determine one or more time ranges containing the most drawing time data among the above T drawing time data; obtain the average value of one or more time ranges, and the historical drawing time of the first sub-page is equal to one Or the average of multiple time ranges.
  • the foregoing obtaining the historical CPU usage rate of the first sub-page according to the T CPU usage rates of the first sub-page includes: obtaining an average of the foregoing T CPU usage data of the first sub-page Value, the historical CPU usage rate of the first subpage is equal to the average of the above T CPU usage data; or, the minimum value of the above T CPU usage data and the above T CPU usage data maximum Utilization rate range, divided into L continuous utilization rate ranges of equal length; determine one or more utilization rate ranges that contain the most CPU utilization rate data in the above T CPU utilization rate data; obtain one or more utilization rate ranges Average, the historical CPU usage of the first subpage is equal to the average of one or more usage ranges.
  • an electronic device including: a communication interface, a memory, and a processor; the communication interface, the memory are coupled to the processor, and the memory is used to store computer program code, the computer program code Including computer instructions, when the processor reads the computer instructions from the memory, so that the electronic device executes any one of the possible implementation manners in the first aspect.
  • a computer-readable storage medium including instructions, which are characterized in that, when the foregoing instructions are executed on an electronic device, the electronic device executes any possible implementation manner as in the first aspect.
  • a computer product is provided, when the computer program product runs on a computer, so that the computer executes any of the possible implementation manners in the first aspect.
  • FIG. 1 is a schematic structural diagram of an electronic device provided by an embodiment of this application.
  • FIG. 2 is a schematic structural diagram of another electronic device provided by an embodiment of the application.
  • FIG. 3 is a schematic diagram of a subpage provided by an embodiment of this application.
  • 4A is a schematic diagram of a window control provided by an embodiment of the application.
  • 4B is a schematic diagram of another window control provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of a tree structure of a window provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of a subpage provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of a cache model provided by an embodiment of the application.
  • FIG. 8A is a schematic diagram of a working flow of a cache model provided by an embodiment of the application.
  • FIG. 8B is a timing diagram of frame loss provided by an embodiment of the application.
  • FIG. 9A is a timing diagram of another frame loss provided by an embodiment of this application.
  • FIG. 9B is a sequence diagram of page drawing according to an embodiment of the application.
  • FIG. 9C is a schematic diagram of a pre-rendered page provided by an embodiment of the application.
  • FIG. 10 is a schematic flowchart of a page drawing method provided by an embodiment of the application.
  • FIG. 11 is a sequence diagram of another page drawing provided by an embodiment of the application.
  • FIG. 12 is a sequence diagram of another page drawing provided by an embodiment of the application.
  • FIG. 13 is a schematic diagram of a page provided by an embodiment of the application.
  • FIG. 14 is a schematic diagram of another page provided by an embodiment of the application.
  • FIG. 15 is a schematic diagram of another page provided by an embodiment of the application.
  • FIG. 16 is a schematic diagram of another page provided by an embodiment of this application.
  • FIG. 17 is a schematic diagram of a subpage provided by an embodiment of this application.
  • FIG. 18 is a schematic diagram of another seed page provided by an embodiment of the application.
  • FIG. 19 is a schematic diagram of another seed page provided by an embodiment of the application.
  • FIG. 20 is a schematic diagram of another seed page provided by an embodiment of the application.
  • FIG. 21 is a schematic diagram of a newly added part provided by an embodiment of the application.
  • FIG. 22 is a schematic diagram of another newly added part provided by an embodiment of the application.
  • FIG. 23 is a schematic diagram of another pre-rendered page provided by an embodiment of the application.
  • FIG. 24 is a schematic diagram of another pre-rendered page provided by an embodiment of this application.
  • FIG. 25 is a sequence diagram of another page drawing provided by an embodiment of the application.
  • FIG. 26 is a schematic diagram of a remaining page provided by an embodiment of the application.
  • FIG. 27 is a sequence diagram of another page drawing provided by an embodiment of the application.
  • FIG. 28 is a sequence diagram of another page drawing provided by an embodiment of the application.
  • FIG. 29 is a schematic flowchart of another page drawing method provided by an embodiment of the application.
  • first and second are only used for descriptive purposes, and cannot be understood as implying or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, the features defined with “first” and “second” may explicitly or implicitly include one or more of these features. In the description of the embodiments of the present application, unless otherwise specified, “multiple” The meaning is two or more.
  • the electronic device 100 can be a mobile phone, a tablet computer, a personal digital assistant (PDA), a wearable device, a laptop computer and other portable electronic devices. equipment.
  • portable electronic devices include, but are not limited to, portable electronic devices equipped with iOS, android, microsoft, or other operating systems.
  • the above-mentioned portable electronic device may also be other portable electronic devices, such as a laptop computer with a touch-sensitive surface (such as a touch panel). It should also be understood that in some other embodiments of the present application, the electronic device may not be a portable electronic device, but a desktop computer with a touch-sensitive surface (such as a touch panel), or a smart TV.
  • FIG. 1 shows a schematic structural diagram of an exemplary electronic device 100 provided in an embodiment of the present application.
  • the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, and an antenna 2.
  • Mobile communication module 150 wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, earphone jack 170D, sensor module 180, buttons 190, motor 191, indicator 192, camera 193, display screen 194, and Subscriber identification module (subscriber identification module, SIM) card interface 195, etc.
  • SIM Subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light Sensor 180L, bone conduction sensor 180M, etc.
  • the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100.
  • the electronic device 100 may include more or fewer components than those shown in the figure, or combine certain components, or split certain components, or arrange different components.
  • the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units.
  • the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), and an image signal processor. (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (NPU) Wait.
  • AP application processor
  • modem processor modem processor
  • GPU graphics processing unit
  • image signal processor image signal processor
  • ISP image signal processor
  • controller memory
  • video codec digital signal processor
  • DSP digital signal processor
  • NPU neural-network processing unit
  • the different processing units may be independent devices or integrated in one or more processors.
  • the controller may be the nerve center and command center of the electronic device 100.
  • the controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching instructions and executing instructions.
  • NPU can use convolutional neural network (Convolutional Neural Networks, CNN) processing for artificial intelligence operations. For example, using the CNN model to do a lot of information recognition and information screening can realize the training and recognition of scene intelligence.
  • CNN convolutional Neural Networks
  • a memory may also be provided in the processor 110 to store instructions and data.
  • the memory in the processor 110 is a cache memory.
  • the memory can store instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. Repeated accesses are avoided, the waiting time of the processor 110 is reduced, and the efficiency of the system is improved.
  • the processor 110 may include one or more interfaces.
  • the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, and a universal asynchronous transmitter/receiver (universal asynchronous) interface.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous transmitter/receiver
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM subscriber identity module
  • USB Universal Serial Bus
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL).
  • the processor 110 may include multiple sets of I2C buses.
  • the processor 110 may be coupled to the touch sensor 180K, charger, flash, camera 193, etc., respectively through different I2C bus interfaces.
  • the processor 110 may couple the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through the I2C bus interface to implement the touch function of the electronic device 100.
  • the I2S interface can be used for audio communication.
  • the processor 110 may include multiple sets of I2S buses.
  • the processor 110 may be coupled with the audio module 170 through an I2S bus to implement communication between the processor 110 and the audio module 170.
  • the audio module 170 may transmit audio signals to the wireless communication module 160 through an I2S interface, so as to realize the function of answering calls through a Bluetooth headset.
  • the PCM interface can also be used for audio communication to sample, quantize and encode analog signals.
  • the audio module 170 and the wireless communication module 160 may be coupled through a PCM bus interface.
  • the audio module 170 may also transmit audio signals to the wireless communication module 160 through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
  • the UART interface is a universal serial data bus used for asynchronous communication.
  • the bus can be a two-way communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • the UART interface is generally used to connect the processor 110 and the wireless communication module 160.
  • the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to realize the Bluetooth function.
  • the audio module 170 may transmit audio signals to the wireless communication module 160 through a UART interface, so as to realize the function of playing music through a Bluetooth headset.
  • the MIPI interface can be used to connect the processor 110 with the display screen 194, the camera 193 and other peripheral devices.
  • the MIPI interface includes a camera serial interface (camera serial interface, CSI), a display serial interface (display serial interface, DSI), and so on.
  • the processor 110 and the camera 193 communicate through a CSI interface to implement the shooting function of the electronic device 100.
  • the processor 110 and the display screen 194 communicate through a DSI interface to realize the display function of the electronic device 100.
  • the GPIO interface can be configured through software.
  • the GPIO interface can be configured as a control signal or as a data signal.
  • the GPIO interface can be used to connect the processor 110 with the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, and so on.
  • the GPIO interface can also be configured as an I2C interface, I2S interface, UART interface, MIPI interface, etc.
  • the USB interface 130 is an interface that complies with the USB standard specification, and specifically may be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
  • the USB interface 130 can be used to connect a charger to charge the electronic device 100, and can also be used to transfer data between the electronic device 100 and peripheral devices. It can also be used to connect earphones and play audio through earphones. This interface can also be used to connect other electronic devices, such as AR devices.
  • the interface connection relationship between the modules illustrated in the embodiment of the present application is merely a schematic description, and does not constitute a structural limitation of the electronic device 100.
  • the electronic device 100 may also adopt different interface connection modes in the foregoing embodiments, or a combination of multiple interface connection modes.
  • the charging management module 140 is used to receive charging input from the charger.
  • the charger can be a wireless charger or a wired charger.
  • the charging management module 140 may receive the charging input of the wired charger through the USB interface 130.
  • the charging management module 140 may receive the wireless charging input through the wireless charging coil of the electronic device 100. While the charging management module 140 charges the battery 142, it can also supply power to the electronic device through the power management module 141.
  • the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
  • the power management module 141 receives input from the battery 142 and/or the charge management module 140, and supplies power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160.
  • the power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance).
  • the power management module 141 may also be provided in the processor 110.
  • the power management module 141 and the charging management module 140 may also be provided in the same device.
  • the wireless communication function of the electronic device 100 can be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor.
  • the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in the electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • Antenna 1 can be multiplexed as a diversity antenna for a wireless local area network.
  • the antenna can be used in combination with a tuning switch.
  • the mobile communication module 150 can provide a wireless communication solution including 2G/3G/4G/5G and the like applied to the electronic device 100.
  • the mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), and the like.
  • the mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform processing such as filtering, amplifying and transmitting the received electromagnetic waves to the modem processor for demodulation.
  • the mobile communication module 150 can also amplify the signal modulated by the modem processor, and convert it into electromagnetic waves for radiation via the antenna 1.
  • at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110.
  • at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be provided in the same device.
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal.
  • the demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.), or displays an image or video through the display screen 194.
  • the modem processor may be an independent device.
  • the modem processor may be independent of the processor 110 and be provided in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide applications on the electronic device 100 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), and global navigation satellites. System (global navigation satellite system, GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110.
  • the wireless communication module 160 may also receive a signal to be sent from the processor 110, perform frequency modulation, amplify, and convert it into electromagnetic waves to radiate through the antenna 2.
  • the antenna 1 of the electronic device 100 is coupled with the mobile communication module 150, and the antenna 2 is coupled with the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite-based augmentation systems
  • the electronic device 100 implements a display function through a GPU, a display screen 194, an application processor, and the like.
  • the GPU is an image processing microprocessor, which is connected to the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations and is used for graphics rendering.
  • the processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 194 is used to display images, videos, and the like.
  • the display screen 194 includes a display panel.
  • the display panel can use liquid crystal display (LCD), organic light-emitting diode (OLED), active matrix organic light-emitting diode or active-matrix organic light-emitting diode (active-matrix organic light-emitting diode).
  • LCD liquid crystal display
  • OLED organic light-emitting diode
  • active-matrix organic light-emitting diode active-matrix organic light-emitting diode
  • AMOLED flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diode (QLED), etc.
  • the electronic device 100 may include one or N display screens 194, and N is a positive integer greater than one.
  • the display screen 194 displays the interface content currently output by the system.
  • the interface content is an interface provided by an instant messaging application.
  • the electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.
  • the ISP is used to process the data fed back from the camera 193. For example, when taking a picture, the shutter is opened, the light is transmitted to the photosensitive element of the camera through the lens, the light signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing and is converted into an image visible to the naked eye.
  • ISP can also optimize the image noise, brightness, and skin color. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
  • the ISP may be provided in the camera 193.
  • the camera 193 is used to capture still images or videos.
  • the object generates an optical image through the lens and is projected to the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the optical signal into an electrical signal, and then transfers the electrical signal to the ISP to convert it into a digital image signal.
  • ISP outputs digital image signals to DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other formats of image signals.
  • the electronic device 100 may include one or N cameras 193, and N is a positive integer greater than one.
  • Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when the electronic device 100 selects the frequency point, the digital signal processor is used to perform Fourier transform on the energy of the frequency point.
  • Video codecs are used to compress or decompress digital video.
  • the electronic device 100 may support one or more video codecs. In this way, the electronic device 100 can play or record videos in multiple encoding formats, such as: moving picture experts group (MPEG) 1, MPEG2, MPEG3, MPEG4, and so on.
  • MPEG moving picture experts group
  • MPEG2 MPEG2, MPEG3, MPEG4, and so on.
  • NPU is a neural-network (NN) computing processor.
  • NN neural-network
  • applications such as intelligent cognition of the electronic device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, and so on.
  • the external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example, save music, video and other files in an external memory card.
  • the internal memory 121 may be used to store computer executable program code, where the executable program code includes instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121.
  • the internal memory 121 may include a storage program area and a storage data area.
  • the storage program area can store an operating system, an application program (such as a sound playback function, an image playback function, etc.) required by at least one function, and the like.
  • the data storage area can store data (such as audio data, phone book, etc.) created during the use of the electronic device 100.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), and the like.
  • UFS universal flash storage
  • the electronic device 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. For example, music playback, recording, etc.
  • the audio module 170 is used to convert digital audio information into an analog audio signal for output, and is also used to convert an analog audio input into a digital audio signal.
  • the audio module 170 can also be used to encode and decode audio signals.
  • the audio module 170 may be provided in the processor 110, or part of the functional modules of the audio module 170 may be provided in the processor 110.
  • the speaker 170A also called “speaker” is used to convert audio electrical signals into sound signals.
  • the electronic device 100 can listen to music through the speaker 170A, or listen to a hands-free call.
  • the receiver 170B also called “earpiece” is used to convert audio electrical signals into sound signals.
  • the electronic device 100 answers a call or voice message, it can receive the voice by bringing the receiver 170B close to the human ear.
  • the microphone 170C also called “microphone”, “microphone”, is used to convert sound signals into electrical signals.
  • the user can make a sound by approaching the microphone 170C through the human mouth, and input the sound signal into the microphone 170C.
  • the electronic device 100 may be provided with at least one microphone 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C, which can implement noise reduction functions in addition to collecting sound signals. In other embodiments, the electronic device 100 may also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, and realize directional recording functions.
  • the earphone interface 170D is used to connect wired earphones.
  • the earphone interface 170D may be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, and a cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
  • OMTP open mobile terminal platform
  • CTIA cellular telecommunications industry association of the USA, CTIA
  • the pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal.
  • the pressure sensor 180A may be provided on the display screen 194.
  • the pressure sensor 180A may be used to capture the pressure value generated when the user's finger part touches the display screen, and transmit the pressure value to the processor, so that the processor can recognize which finger part the user inputs through User operation.
  • the capacitive pressure sensor may include at least two parallel plates with conductive materials.
  • the electronic device 100 determines the intensity of the pressure according to the change in capacitance.
  • the electronic device 100 detects the intensity of the touch operation according to the pressure sensor 180A.
  • the electronic device 100 may also calculate the touched position according to the detection signal of the pressure sensor 180A.
  • touch operations that act on the same touch position but have different touch operation strengths may correspond to different operation instructions.
  • the pressure sensor 180A may transmit the detected capacitance value to the processor, so that the processor recognizes which finger part (knuckle or finger pad, etc.) the user inputs the user operation through.
  • the pressure sensor 180A may also calculate the number of touch points according to the detected signal, and transmit the calculated value to the processor, so that the processor recognizes the user inputting the user through a single finger or multiple fingers. operating.
  • the gyro sensor 180B may be used to determine the movement posture of the electronic device 100.
  • the angular velocity of the electronic device 100 around three axes ie, x, y, and z axes
  • the gyro sensor 180B can be used for image stabilization.
  • the gyro sensor 180B detects the shake angle of the electronic device 100, calculates the distance that the lens module needs to compensate according to the angle, and allows the lens to counteract the shake of the electronic device 100 through reverse movement to achieve anti-shake.
  • the gyro sensor 180B can also be used for navigation and somatosensory game scenes.
  • the air pressure sensor 180C is used to measure air pressure.
  • the electronic device 100 calculates the altitude based on the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.
  • the magnetic sensor 180D includes a Hall sensor.
  • the electronic device 100 may use the magnetic sensor 180D to detect the opening and closing of the flip holster.
  • the electronic device 100 can detect the opening and closing of the flip according to the magnetic sensor 180D.
  • features such as automatic unlocking of the flip cover are set.
  • the acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of electronic devices, and apply to applications such as horizontal and vertical screen switching, pedometers, etc. In some optional embodiments of the present application, the acceleration sensor 180E may be used to capture the acceleration value generated when the user's finger part touches the display screen, and transmit the acceleration value to the processor, so that the processor recognizes which finger part the user inputs through User operation.
  • the electronic device 100 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 may use the distance sensor 180F to measure the distance to achieve fast focusing.
  • the proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector such as a photodiode.
  • the light emitting diode may be an infrared light emitting diode.
  • the electronic device 100 emits infrared light to the outside through the light emitting diode.
  • the electronic device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100.
  • the electronic device 100 can use the proximity light sensor 180G to detect that the user holds the electronic device 100 close to the ear to talk, so as to automatically turn off the display screen to save power.
  • the proximity light sensor 180G can also be used in leather case mode, and the pocket mode will automatically unlock and lock the screen.
  • the ambient light sensor 180L is used to sense the brightness of the ambient light.
  • the electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived brightness of the ambient light.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the electronic device 100 is in the pocket to prevent accidental touch.
  • the fingerprint sensor 180H is used to collect fingerprints.
  • the electronic device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photographs, fingerprint answering calls, and so on.
  • the temperature sensor 180J is used to detect temperature.
  • the electronic device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold value, the electronic device 100 reduces the performance of the processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection.
  • the electronic device 100 when the temperature is lower than another threshold, the electronic device 100 heats the battery 142 to avoid abnormal shutdown of the electronic device 100 due to low temperature.
  • the electronic device 100 boosts the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
  • Touch sensor 180K also called “touch panel”.
  • the touch sensor 180K can be disposed on the display screen 194, and the touch screen is composed of the touch sensor 180K and the display screen 194, which is also called a "touch screen”.
  • the touch sensor 180K is used to detect a touch operation acting on or near it, and the touch touch operation refers to an operation in which a user's hand, elbow, or stylus touches the display screen 194.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • the visual output related to the touch operation can be provided through the display screen 194.
  • the touch sensor 180K may also be disposed on the surface of the electronic device 100, which is different from the position of the display screen 194.
  • the bone conduction sensor 180M can acquire vibration signals.
  • the bone conduction sensor 180M can obtain the vibration signal of the vibrating bone mass of the human voice.
  • the bone conduction sensor 180M can also contact the human pulse and receive the blood pressure pulse signal.
  • the bone conduction sensor 180M may also be provided in the earphone, combined with the bone conduction earphone.
  • the audio module 170 can parse the voice signal based on the vibration signal of the vibrating bone block of the voice obtained by the bone conduction sensor 180M, and realize the voice function.
  • the application processor can analyze the heart rate information based on the blood pressure beating signal obtained by the bone conduction sensor 180M, and realize the heart rate detection function.
  • the button 190 includes a power-on button, a volume button, and so on.
  • the button 190 may be a mechanical button. It can also be a touch button.
  • the electronic device 100 may receive key input, and generate key signal input related to user settings and function control of the electronic device 100.
  • the motor 191 can generate vibration prompts.
  • the motor 191 can be used for incoming call vibration notification, and can also be used for touch vibration feedback.
  • touch operations applied to different applications can correspond to different vibration feedback effects.
  • Acting on touch operations in different areas of the display screen 194, the motor 191 can also correspond to different vibration feedback effects.
  • Different application scenarios for example: time reminding, receiving information, alarm clock, games, etc.
  • the touch vibration feedback effect can also support customization.
  • the indicator 192 may be an indicator light, which may be used to indicate the charging status, power change, or to indicate messages, missed calls, notifications, and so on.
  • the SIM card interface 195 is used to connect to the SIM card.
  • the SIM card can be inserted into the SIM card interface 195 or pulled out from the SIM card interface 195 to achieve contact and separation with the electronic device 100.
  • the electronic device 100 may support 1 or N SIM card interfaces, and N is a positive integer greater than 1.
  • the SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc.
  • the same SIM card interface 195 can insert multiple cards at the same time. The types of the multiple cards can be the same or different.
  • the SIM card interface 195 can also be compatible with different types of SIM cards.
  • the SIM card interface 195 may also be compatible with external memory cards.
  • the electronic device 100 interacts with the network through the SIM card to implement functions such as call and data communication.
  • the electronic device 100 adopts an eSIM, that is, an embedded SIM card.
  • the eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
  • the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture.
  • the embodiment of the present application takes an Android system with a layered architecture as an example to illustrate the software structure of the electronic device 100 by way of example.
  • FIG. 2 is a block diagram of the software structure of the electronic device 100 according to an embodiment of the present application.
  • the layered architecture divides the software into several layers, and each layer has a clear role and division of labor. Communication between layers through software interface.
  • the Android system is divided into four layers, from top to bottom, the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
  • the application layer can include a series of application packages.
  • the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
  • a floating launcher can also be added to the application layer, which is used as a default display application in the above-mentioned floating window and provides users with an entrance to other applications.
  • the application framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer.
  • the application framework layer includes some predefined functions.
  • the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, an activity manager, etc.
  • the window manager is used to manage window programs.
  • the window manager can obtain the size of the display screen, determine whether there is a status bar, lock the display screen, and intercept the display screen.
  • a FloatingWindow can be extended based on Android's native PhoneWindow, which is specifically used to display the above-mentioned floating window to distinguish it from ordinary windows.
  • the window has the attribute of being displayed floating at the top of the series of windows.
  • the window size can be given an appropriate value according to the size of the actual screen and the optimal display algorithm.
  • the aspect ratio of the window may default to the screen aspect ratio of a conventional mainstream mobile phone.
  • an additional close button and a minimize button can be drawn in the upper right corner.
  • the content provider is used to store and retrieve data and make these data accessible to applications.
  • the data may include videos, images, audios, phone calls made and received, browsing history and bookmarks, phone book, etc.
  • the view system includes visual controls, such as controls that display text, controls that display pictures, and so on.
  • the view system can be used to build applications.
  • the display interface can be composed of one or more views.
  • a display interface that includes a short message notification icon may include a view that displays text and a view that displays pictures.
  • button views for closing, minimizing and other operations on the floating window can be added accordingly, and bound to the FloatingWindow in the above-mentioned window manager.
  • the phone manager is used to provide the communication function of the electronic device 100. For example, the management of the call status (including connecting, hanging up, etc.).
  • the resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and so on.
  • the notification manager enables the application to display notification information in the status bar 207, which can be used to convey notification-type messages, and can automatically disappear after a short stay without user interaction.
  • the notification manager is used to notify download completion, message reminders, and so on.
  • the notification manager can also be a notification that appears in the status bar at the top of the system in the form of a chart or a scroll bar text, such as a notification of an application running in the background, or a notification that appears on the display screen in the form of a dialog window. For example, text messages are prompted in the status bar, prompt sounds, electronic devices vibrate, and indicator lights flash.
  • the activity manager is used to manage the running activities in the system, including process, application, service, task information, etc.
  • a motion detector can be added to the application framework layer, which is used to make logical judgments on the acquired input events and identify the type of the input event. For example, based on the touch coordinates included in the input event, the time stamp of the touch operation, and other information, it is determined that the input event is a knuckle touch event or a finger pad touch event.
  • the motion detection component can also record the trajectory of the input event, determine the gesture pattern of the input event, and respond to different operations according to different gestures.
  • Android Runtime includes core libraries and virtual machines. Android runtime is responsible for the scheduling and management of the Android system.
  • the core library consists of two parts: one part is the function functions that the java language needs to call, and the other part is the core library of Android.
  • the application layer and application framework layer run in a virtual machine.
  • the virtual machine executes the java files of the application layer and the application framework layer as binary files.
  • the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
  • the system library can include multiple functional modules. For example: input manager, input dispatcher, surface manager, media libraries, 3D graphics processing libraries (such as OpenGL ES), 2D graphics engines (such as : SGL) and so on.
  • input manager input dispatcher
  • surface manager media libraries
  • 3D graphics processing libraries such as OpenGL ES
  • 2D graphics engines such as : SGL
  • the input manager is responsible for obtaining event data from the underlying input driver, parsed and encapsulated, and passed to the input dispatch manager.
  • the input scheduling manager is used to store window information. After receiving an input event from the input manager, it will look for a suitable window in the window it keeps, and dispatch the event to this window.
  • the surface manager is used to manage the display subsystem and provides a combination of 2D and 3D layers for multiple applications.
  • the media library supports playback and recording of a variety of commonly used audio and video formats, as well as still image files.
  • the media library can support multiple audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing.
  • the 2D graphics engine is a drawing engine for 2D drawing.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
  • the corresponding hardware interrupt is sent to the kernel layer.
  • the kernel layer processes touch operations into original input events (including touch coordinates, time stamps of touch operations, etc.).
  • the original input events are stored in the kernel layer.
  • the application framework layer obtains the original input event from the kernel layer and identifies the control corresponding to the input event. Taking the touch operation as a touch click operation, and the control corresponding to the click operation is the control of the camera application icon as an example, the camera application calls the interface of the application framework layer to start the camera application, and then starts the camera driver by calling the kernel layer.
  • the camera 193 captures still images or videos.
  • Control can be an encapsulation of data and methods.
  • a control can have its own properties and methods. Properties are simple visitors of control data, and methods are some simple and visible functions of the control.
  • Controls also called widgets, are the basic elements of the user interface.
  • the types of controls can include but are not limited to: user interface controls (controls used to develop and construct user interfaces, such as controls for interface elements such as windows, text boxes, buttons, and drop-down menus), chart controls (used to develop charts Controls that can realize data visualization, etc.), report controls (used to develop report controls to realize report browsing, viewing, design, editing, and printing functions), table controls (used to develop form (CELL) controls, and realize web Data processing and operation functions in the grid) and so on.
  • user interface controls controls used to develop and construct user interfaces, such as controls for interface elements such as windows, text boxes, buttons, and drop-down menus
  • chart controls used to develop charts Controls that can realize data visualization, etc.
  • report controls used to develop report controls to realize report browsing, viewing,
  • the types of controls in the embodiments of the present application may also include: composite controls (combining various existing controls to form a new control, which concentrates the performance of multiple controls), extended controls (derives a new control based on the existing controls) Controls, add new performance to existing controls or change the performance of existing controls), custom controls, etc.
  • controls may include, but are not limited to: window, scrollbar, table view, button, menu bar, text box, navigation Visual interface elements such as bar, toolbar, image (lmage), static text (tatictext), Widget, etc.
  • Page The term "page” in the specification, claims and drawings of this application can also be called “user interface (UI)", which refers to the interaction and information exchange between the application or operating system and the user Media interface, which realizes the conversion between the internal form of the information and the form acceptable to the user.
  • UI user interface
  • the user interface of the application is the source code written in a specific computer language such as java, extensible markup language (XML), etc.
  • the interface source code is parsed and rendered on the terminal device, and finally presented as content that can be recognized by the user.
  • the attributes and content of the controls in the interface are defined by tags or nodes.
  • XML specifies the controls contained in the interface through nodes such as ⁇ Textview>, ⁇ ImgView>, and ⁇ VideoView>.
  • a node corresponds to a control or attribute in the interface, and the node is rendered as user-visible content after parsing and rendering.
  • many applications such as hybrid applications, usually contain web pages in their interfaces.
  • a web page can be understood as a special control embedded in the application program interface.
  • a web page is source code written in a specific computer language, such as hypertext markup language (HTML), cascading style sheets, CSS), java script (JavaScript, JS), etc.
  • the source code of the web page can be loaded and displayed as user-recognizable content by a browser or a web page display component with similar functions of the browser.
  • the specific content contained in a web page is also defined by tags or nodes in the source code of the web page.
  • HTML defines the elements and attributes of the web page through ⁇ p>, ⁇ img>, ⁇ video>, and ⁇ canvas>.
  • GUI graphical user interface
  • Subpages At present, electronic devices display more and more content to users.
  • the screens of electronic devices may no longer be able to display all the content of the page, and the user needs to swipe down (up) to display all the content of the page.
  • the page in the embodiment of the present application may be such a page that cannot be displayed on the screen at one time and needs to be displayed multiple times by sliding.
  • the electronic device may divide the page into multiple sub-pages, and each sub-page corresponds to a page identifier instead of the corresponding page identifier of the page.
  • the pages can be divided into sub-page 1, sub-page 2 and sub-page 3.
  • Sub-page 1 corresponds to page identification 1
  • sub-page 2 corresponds to page identification 2
  • sub-page 3 corresponds to page identification 3.
  • the electronic device can also establish reference coordinates for the page.
  • Each sub-page corresponds to a coordinate range instead of the coordinate range corresponding to the page.
  • the minimum scale of the coordinate can be n pixels.
  • the page can be divided into sub-page 1, sub-page 2 and sub-page 3.
  • the coordinate range of sub-page 1 is (0, 500)
  • the coordinate range of sub-page 2 is (500, 1000)
  • the coordinate range of sub-page 3 is (1000). , 1500).
  • the electronic device may divide the page into a plurality of sub-pages, and the exposed matte surface of the electronic device may include one or more consecutive sub-pages among the above-mentioned multiple sub-pages of specified height, and the exposed page may be a page displayed by the electronic device.
  • the height of the above-mentioned exposure page may be the height of the display screen, of course, it may also be other heights, which is not limited in the embodiment of the present application.
  • the page shown in FIG. 3 is a page that can slide up and down. As shown in Figure 3, reference coordinates can be established for the page, and the page can be divided into multiple consecutive sub-pages.
  • the exposure page of the page can include the i-th sub-page to the i+m-th sub-page of the page.
  • the exposure page of the page refers to the visible page displayed on the screen in the page.
  • the i-th sub-page and the i+m-th sub-page shown in FIG. 3 may be incomplete sub-pages in the exposure page.
  • the height of the i-th sub-page in the exposure page shown in Fig. 3 is greater than zero and smaller than the height of the i-th sub-page.
  • the subpages can be divided according to the layout of the controls in the page, the subpages can also be divided according to the specified height of the subpage, and the subpages can also be divided according to other division criteria, which is not specifically limited in this embodiment of the application. It can be understood that the heights of any two subpages of the same page may be equal or unequal.
  • FIG. 4A it is a schematic diagram of a page structure provided by an embodiment of the present application. From the perspective of page architecture, the controls on the page can be divided into the following two categories: view controls and viewgroup controls.
  • the window group control contains one or more controls, and the window group control can also contain other window group controls. It should be noted that FIG. 4A only illustrates a page in the form of an example, and does not limit the embodiment of the present application.
  • the page of the mobile phone includes window control 1, window control 2, window group control 1, window group control 2 and window group control 3.
  • window group control 1 includes a window control 11, a window group control 12, and a window group control 13.
  • the window group control 13 includes: a window control 131, a window group control 132, and a window group control 133.
  • FIG. 5 is a schematic diagram of a tree structure of a control provided in an embodiment of this application.
  • the window (the root node, decorView) is also a window group control.
  • Fig. 5 shows the relationship between the controls on the page shown in Fig. 4A.
  • ViewRoot is the link that connects Window Manager Service and DecorView. All page event distribution interactions are executed or transmitted through it. For example, all Android touch screen events, key events, interface refresh (including view measurement (measure), view layout (layout), view drawing (draw)) and other events are distributed through ViewRoot.
  • the page can be divided into four sub-pages, namely, sub-page 1, sub-page 2, sub-page 3, and sub-page 4.
  • subpage 1 includes two window controls of the page
  • subpage 2 includes the window group control 1 of the page
  • subpage 3 includes the window group control 2 of the page
  • subpage 4 includes the window of the page.
  • Group control 3 includes the window of the page.
  • the buffer model includes two buffer areas, namely a back buffer and a frame buffer.
  • the GPU of the electronic device can write data to the Back Buffer, and the display of the electronic device can read the data from the Frame Buffer and display the page corresponding to the data.
  • the Vsync signal can be used to schedule the copy operation from BackBuffer to Frame Buffer, and it can be considered that the copy operation is completed in an instant.
  • the electronic device refreshes the displayed page according to the refresh frequency, for example, the refresh frequency is 60 Hz, and the refresh period is 16.67 ms.
  • the electronic device sends out a Vsync signal.
  • the Frame Buffer copies the nth frame image data in the Back Buffer.
  • the buffer area notifies the CPU to draw the n+1th frame image.
  • the display displays the nth frame of image according to the nth frame of image data in the Frame Buffer in the second refresh period.
  • the GPU renders the image of the n+1th frame drawn by the CPU, and writes the rendered image data of the n+1th frame into the BackBuffer.
  • the CPU will redraw the image. Only when the APP needs to update the display page, the CPU will request to receive the Vsync signal, and after receiving the next Vsync signal, it will start to draw the next frame of image. It can be understood that, under the above-mentioned cache model, only when the Vsync signal is generated, the CPU will start to draw the next frame of image.
  • FIG. 8B is a page drawing sequence diagram provided by an embodiment of the present application.
  • the CPU/GPU is processing the n+1th frame image, that is, the time for the CPU/GPU to draw/render the n+1th frame image exceeds the refresh cycle, then the first The image data of n+1 frames has not been written into the BackBuffer.
  • the display enters the next refresh period of the second refresh period, what is taken out of the Frame Buffer is the "old" data, that is, the image data of the nth frame, not the image data of the n+1th frame. Therefore, the n-th frame image is still displayed in the refresh period after the second refresh period.
  • Dropped Frame, Skipped Frame, Jank This phenomenon is called “Dropped Frame, Skipped Frame, Jank” phenomenon.
  • the above “drop frame” phenomenon not only affects the display of the n+1th frame image, but also causes a delay in the drawing and display of subsequent images, which may lead to more “drop frame” phenomena.
  • FIG. 7 is only an exemplary cache model provided by an embodiment of the present application, and the page rendering method proposed in the embodiment of the present application can also be applied to other cache models, for example, a triple cache model, where There is no specific limitation.
  • 8A and 8B are only an exemplary page drawing timing diagram provided by this embodiment. In actual situations, the CPU and GPU processing processes of page drawing may be partially overlapped from a time point of view, and some page rendering work The CPU can also do it, and the comparison of the embodiments of this application is not specifically limited.
  • the "electronic device drawing page” in the specification and claims of this application includes drawing and rendering of the page by the CPU/GPU, and the “drawing time” refers to the total time from when the CPU starts to draw the page to when the page is rendered.
  • “drawing a page by an electronic device” includes drawing, rendering, and compositing a page on the CPU/GPU, and “drawing time” refers to the total time from when the CPU starts drawing the page to when the page is rendered and composited.
  • the CPU/GPU performs composition after drawing and rendering of the page in the first refresh cycle is not limited here. It can be understood that if synthesis is not performed in the first refresh period, synthesis is performed before the page is displayed in the next refresh period of the first refresh period.
  • the application interface of the shopping APP is relatively complicated and contains a large number of controls. At least one frame of image drawing time exceeds the refresh cycle, which causes the phone to be drawn. There is a "drop frame" phenomenon. From the user's point of view, the page will be stuck and not smooth.
  • the drawing time of the basic page in the first refresh period is short, and therefore, there is an idle period in the first refresh period.
  • the electronic device may draw the incremental page.
  • the incremental page is the page displayed by the electronic device after the user slides the basic page up/down. If the drawing time of the incremental page exceeds the refresh cycle, it will cause "lost". frame". In order to reduce the possibility of the aforementioned "frame dropping" phenomenon, this application provides a page drawing method.
  • FIG. 9B at the beginning of the first refresh period, the electronic device determines whether the time of the basic page drawn in the first refresh period is less than the preset value, and predicts whether it is possible to draw the time-out incremental page in the second refresh period.
  • the height of the page drawn in the first refresh cycle is modified from H1 to H1+w, so that not only the basic page is drawn in the first refresh cycle, but also the pre-drawn page is drawn in advance, and the pre-drawn page and The incremental pages overlap.
  • H1 is the height of the base page
  • w is the height of the pre-drawn page.
  • FIG. 9C is a schematic diagram of a pre-rendered page provided by an embodiment of the present application. It can be understood that the pre-drawn page is drawn in advance in the first refresh period.
  • the method proposed in the embodiment of the present application can improve the fluency of page display by drawing a pre-drawn page in advance, thereby improving user experience.
  • FIG. 10 is a schematic flowchart of a page drawing method provided by an embodiment of the present application.
  • the network slice selection method provided by the embodiment of the present application includes but is not limited to steps S201 to S207. The possible implementation of this method embodiment will be further described below.
  • S201 The electronic device recognizes whether the first refresh period is an idle period, and the idle period is used to draw a pre-drawn page.
  • the page drawing method provided in the embodiment of the present application can pre-render the page whose drawing time may exceed the refresh period in advance.
  • the idle period can be used to draw the pre-drawn page.
  • the drawing time of the incremental page in the second refresh period exceeds the refresh period. Part of the images on the page are pre-drawn to share the drawing pressure of the second refresh period, so as to avoid the frame loss problem shown in FIG. 9A.
  • the electronic device recognizes whether the first refresh period is an idle period, and the idle period is used to draw a pre-drawn page.
  • the electronic device recognizes whether the first refresh period is an idle period, and the idle period is used to draw a pre-rendered page.
  • the target drawing and rendering process in the first refresh period is the process of drawing the target page in the first refresh period. There may or no time difference between the target drawing and rendering process and the start of the first refresh period. Here There is no specific limitation.
  • the above-mentioned electronic device identifying whether the first refresh period is an idle period includes but not limited to the above-mentioned steps A1 to A3.
  • A1. Determine whether the first instruction is received in the third refresh period.
  • the first instruction is used to trigger the electronic device to update the page displayed on the display screen.
  • the third refresh period is the previous refresh period of the first refresh period.
  • the first instruction may be generated according to a first user operation.
  • the electronic device displays an instant messaging page, and the user clicks a shopping link on the page of an instant messaging APP.
  • the electronic device generates a first instruction according to the above user operation, and the first instruction is used to trigger the electronic device to display the page of the shopping APP.
  • the first instruction may also be directly generated according to the internal application program of the electronic device.
  • the electronic device displays the page of the shopping APP
  • the clock APP automatically generates the first instruction according to the preset alarm
  • the first instruction is used to trigger the electronic device to display the alarm page.
  • step A3 is executed.
  • the electronic device receives the first instruction, and the first instruction is used to trigger the electronic device to update the displayed page as the basic page. In the first refresh period, the electronic device draws the updated page.
  • the source page is displayed in the first refresh cycle. If the electronic device receives the first instruction in the third refresh cycle, the first instruction is used to trigger the electronic device to update the source page to the base page, then The CPU will request to receive the Vsync signal and draw the updated basic page after the next Vsync signal (the first refresh cycle).
  • the display of the electronic device displays the source page according to the frame data of the source page in the frame buffer area
  • the display of the electronic device displays the source page according to the frame buffer area.
  • the frame data of the base page displays the base page. This is because the CPU draws the basic page in the first refresh cycle, and in the second refresh cycle, the frame buffer area will obtain the frame data of the basic page through a copy operation.
  • the electronic device does not receive the first instruction in the third refresh period, and in the first refresh period, the electronic device does not need to draw the page.
  • the third refresh period is the previous refresh period of the first refresh period. If in the third refresh cycle, the electronic device draws the basic page and the electronic device does not receive the first instruction, the electronic device displays the basic page in the first refresh cycle, and the CPU does not request to receive the Vsync signal. Therefore, the CPU does not A new page will be drawn. At this time, the first refresh period is an idle period.
  • the display of the electronic device displays the basic page according to the frame data of the basic page in the frame buffer area
  • the display of the electronic device still displays the basic page according to the frame buffer
  • the frame data of the basic page of the zone shows the basic page. This is because the CPU does not redraw the image in the first refresh period, and when the Vsync signal is received in the second refresh period, the frame buffer area still contains the frame data of the basic page.
  • FIG. 11 and FIG. 12 are only an exemplary sequence diagram provided by the embodiment of the present application, and do not constitute a limitation to the embodiment of the present application.
  • A3. Determine whether the basic page is a low-load page, and the basic page is the page after the first user operation triggers the update of the electronic device. If yes, it is determined that the first refresh period is an idle period.
  • the first refresh period is an idle period and is divided into two cases:
  • Case 2 The basic page is drawn during the first refresh cycle, but the basic page is a low-load page.
  • historical data can be used to determine whether the basic page is a low-load page.
  • the first application page can be a shopping APP, mobile game APP and other APP pages with more complicated interfaces.
  • the height of the first application page is greater than the height of the exposure page, and the first application page can be swiped up and down by sliding up and down. , The user can view more content of the first application page.
  • the first instruction may have the following two situations:
  • Case 3 The first instruction is used to update the display page of the electronic device from the second application page to the basic page in the first application page, and the second application page and the first application page are not the same page.
  • the width of the basic page is the same as the width of the first application page, and the height of the basic page is smaller than that of the first application page.
  • the base page may include one or more consecutive sub-pages in the first application page.
  • the electronic device displays a second application page, and in response to detecting the above-mentioned first instruction, the electronic device displays a basic page, and the first application page includes a basic page.
  • the basic page can slide up and down, by sliding up and down, the user can view more content of the first application page.
  • the second application page is an instant messaging APP page
  • the first application page is a shopping APP page.
  • the user receives a shopping link through the instant messaging AAP, the user clicks the shopping link displayed on the page of the instant messaging APP, and the electronic device responds to the detected user operation and displays the page of the shopping APP corresponding to the shopping link.
  • Case 4 The first instruction is used to slide the first application page up, the source page of the first application page is updated to the basic page of the first application page, the first application page includes the source page, and the source page includes the first application One or more consecutive subpages of the program page.
  • the electronic device displays the source page of the first application page, and in response to the detected first instruction, the electronic device displays the basic page of the first application page.
  • the source page and the base page may or may not overlap.
  • the first application page is a shopping APP page.
  • the electronic device displays the source page of the shopping APP page.
  • the user's finger slides up on the display screen.
  • the electronic device slides upwards on the shopping APP page displayed by the electronic device to move the electronic device
  • the displayed source page is updated to the basic page of the shopping APP page.
  • the method of judging whether the basic page is a low-load page based on historical data includes, but is not limited to, step B1 to step B3.
  • a reference coordinate can be established for the first application page, and the first application page can be divided into multiple sub-pages.
  • Each sub-page of the first application page corresponds to a coordinate range
  • the minimum scale of the coordinate may be n pixels
  • the height of each sub-page is an integer multiple of n.
  • the basic page may be composed of m consecutive sub-pages in the first application page, where the lower limit of the coordinates of the t-th sub-page among the m sub-pages is equal to the upper limit of the coordinates of the t+1-th sub-page among the m sub-pages .
  • m and n are positive integers greater than zero.
  • the first application page can be divided into two types, namely, the first type and the second type.
  • the first type the first application page only includes the scroll area page, that is, the first application page displayed by the electronic device can slide up and down as a whole. If the electronic device displays the basic page of the first application page, and the electronic device receives a second user operation, the second user operation is used to slide up the first application page, and the sliding starting point of the second user operation is within the basic page, respond In response to the detected second user operation, the first application page slides upward as a whole, and the electronic device displays an incremental page of the first application page.
  • the second user operation can also be used to slide down the first application page, which is not specifically limited in the embodiment of the present application.
  • the first application page is swiped up as an example for description.
  • the exposed page of the electronic device in the second refresh period is the basic page.
  • the user's finger slides upward on the display screen, and the electronic device slides the basic page upward in response to the above-mentioned user operation detected.
  • the sliding exposure page is an incremental page, and the incremental page can include overlapping parts with the base page and new parts.
  • the first application page includes a scrolling area page and a non-scrolling area page.
  • the scrolling area page can slide up and down, and the non-scrolling area page cannot slide up and down.
  • the electronic device displays a basic page of the first application page, and the basic page includes a scrolling area and a non-scrolling area.
  • the electronic device receives a second user operation.
  • the second user operation is used to slide up the first application page.
  • the starting point of the slide is located in the scroll area of the basic page.
  • the scroll area page slides upwards without scrolling.
  • the zone page remains unchanged. If the starting point of the user's upward sliding is in the non-scrolling area, both the scrolling area page and the non-scrolling area page are unchanged.
  • the electronic device displays the page (basic page) of the shopping APP.
  • the page of the shopping APP can be divided into three parts as shown in FIG. 15. Among them, the middle part is the scroll area, and the upper and lower parts are Non-rolling area.
  • the user's finger slides upward on the display screen, and the starting point of the slide is in the scroll area.
  • the electronic device slides up the scroll area page of the shopping APP.
  • the sliding exposure page is an incremental page, and the incremental page can include overlapping parts with the base page and new parts.
  • the basic page may include m consecutive complete subpages in the first application page, that is, the i-th subpage to the i+m-1th subpage .
  • m is a positive integer greater than or equal to 1
  • the height of the subpage is less than or equal to the height of the exposure page of the first application page.
  • the height of each subpage may be equal or unequal, which is not specifically limited in the embodiment of the present application.
  • each subpage is h
  • the basic page includes m-1 consecutive complete sub-pages and two incomplete sub-pages in the first application page, that is, the i-th sub-page Part of the page, from the i+1th subpage to the i+m-1th subpage, and part of the i+mth subpage.
  • the height of the i-th subpage in the base page is r1
  • the height of the i+mth subpage in the base page is r2.
  • r1 is greater than zero and less than the height of the i-th sub-page
  • r2 is greater than zero and less than the height of the i+m-th sub-page.
  • dividing the first application page into one or more consecutive subpages refers to: dividing the scroll area page of the first application page into one Or multiple consecutive subpages.
  • the scroll area page of the basic page may include m consecutive complete subpages of the scroll area page of the first application page, that is, the i-th sub-page to the i+m-1th sub-page of the first application page. Subpages.
  • the visible page height of the scroll area is H2, which is exemplary, as shown in Figure 19.
  • the scroll area of the basic page may include m-1 continuous complete sub-pages and two incomplete sub-pages of the scroll area page of the first application page , That is, the partial page of the i-th subpage, the i+1th subpage to the i+m-1th subpage, and the partial page of the i+mth subpage.
  • the height of the i-th subpage in the base page is r3, and the height of the i+mth subpage in the base page is r4.
  • r3 is greater than zero and less than the height of the i-th sub-page
  • r4 is greater than zero and less than the height of the i+m-th sub-page.
  • the area where the exposed page of the first application page is located can be regarded as a scroll area, and the first application page includes visible pages in the scroll area and invisible pages in the scroll area.
  • the first application page includes a non-scrolling area page and a scrolling area page, where the scrolling area page includes a visible page of the scrolling area and an invisible page of the scrolling area.
  • the electronic device records the drawing time of each subpage of the first application page drawn by the electronic device, and obtains the historical drawing time of each subpage.
  • the electronic device records the drawing time of each subpage of the scroll area page of the first application page.
  • the electronic device records the drawing time of the first subpage of the first application page drawn by the electronic device for W times, and generates W drawing time data of the first subpage. And use the first algorithm to process W drawing time data to obtain the historical drawing time of the first subpage. Among them, W is a fixed value. When the number of records reaches W, the historical drawing time of the first subpage is calculated.
  • the electronic device records the drawing time of the first sub-page of the first application page drawn by the j-th electronic device, and generates the j-th drawing time data of the first sub-page.
  • the first algorithm is used to process the j drawing time data to obtain the historical drawing time of the first subpage.
  • the electronic device can continuously record the drawing time of the first subpage, and continuously update the historical drawing time of the first subpage, so that according to the historical data of the first subpage,
  • the first algorithm may be: averaging the recorded drawing time data, and the obtained average value is the historical drawing time.
  • the first algorithm may be: divide L continuous time ranges according to the maximum and minimum values of the recorded drawing time data, and determine the time range with the highest probability, and take the middle value of the time range as History draws time. If the probability of one or more time ranges is equal, the average value of the middle value of the above one or more time ranges is taken.
  • the 7 drawing time data are 5ms, 7ms, 7ms, 7ms, 7ms, 9ms, 9ms, and the value of L is 3, then the three time ranges can be [5,7), [7,9), [9 ,11), where [5,7) means greater than or equal to 5 and less than 7.
  • the probability of a time range of [5,7) is one-seventh
  • the probability of a time range of [7,9) is four-sevenths
  • the probability of a time range of [9,11) is two-sevenths
  • the middle value of the time range [7, 9) is the historical drawing time, that is, 8ms.
  • the first algorithm may also be: divide L continuous time ranges according to x maximum and minimum values of drawing time data, determine the time range with the highest probability according to x drawing time data, and take The average value of the drawing time data in this time range is used as the historical drawing time. If the probability of one or more time ranges is equal, the average of the drawing time data in the one or more time ranges is taken as the historical drawing time.
  • the 7 drawing time data are 6ms, 8ms, 8ms, 8ms, 9ms, 9ms, 9ms, 9ms, and the value of L is 3, then the three time ranges can be [5,7), [7,9), [9 ,11), where [5,7) means greater than or equal to 5 and less than 7.
  • the probability of a time range of [5,7) is one-seventh
  • the probability of a time range of [7,9) is three-sevenths
  • the probability of a time range of [9,11) is three-sevenths
  • the average value of the 6 drawing time data (ie 8ms, 8ms, 8ms, 9ms, 9ms, 9ms, 9ms) in the time range [7, 9) is the historical drawing time, which is 8.5ms.
  • the first algorithm may also be other algorithms, which are not specifically limited in the embodiment of the present application.
  • the following describes how to determine the historical drawing time of the basic page according to the historical drawing time of the subpages in the basic page.
  • the historical drawing time of the base page may be: the sum of the historical drawing time of the complete subpages in the base page.
  • the historical drawing time of the basic page may be: the sum of the historical drawing time of the sub-pages (including complete sub-pages and incomplete sub-pages) in the basic page.
  • the theoretical drawing time of the i-th sub-page in the basic page is determined according to the ratio of r1 and the height of the i-th sub-page.
  • the height of the i-th sub-page above r1 is the fourth ratio
  • the theoretical drawing time of the i-th sub-page is the fourth ratio multiplied by the historical drawing time of the i-th sub-page.
  • the theoretical drawing time of the i+mth subpage in the basic page is determined according to the ratio of r2 and the height of the i+mth subpage.
  • r2 is the fifth ratio compared to the height of the i+mth subpage
  • the theoretical drawing time of the i+mth subpage is the fifth ratio multiplied by the historical drawing time of the i+mth subpage.
  • the historical drawing time of the basic page can be: the sum of the historical drawing time of the complete sub-pages in the basic page (that is, the i+1th subpage and the i+m-1th subpage), plus the addition of the new part of the basic page. The value obtained after the theoretical drawing time of the complete sub-page (ie the i-th sub-page and the i+m-th sub-page).
  • the historical drawing time of the base page may be: the sum of the historical drawing time of the complete sub-pages in the base page, plus the average value of the historical drawing time of the two incomplete sub-pages.
  • the following describes how to determine the historical drawing time of the basic page according to the historical drawing time of the subpages in the basic page.
  • the historical drawing time of the basic page may be: the sum of the historical drawing time of the sub-pages of the scrolling area in the basic page and the historical drawing time of the non-scrolling area is less than the first time threshold.
  • the first time threshold is less than the refresh period.
  • the refresh period is 16.67 ms
  • the first time threshold is 0.5 times the refresh period, that is, 8.335 ms.
  • the first command is the fourth and the basic page is the first type or the second type
  • the following describes how to determine the historical drawing time of the basic page according to the historical drawing time of the subpages in the basic page.
  • the source page includes the jth subpage to the j+ath subpage of the first application page, where j is a positive integer greater than i, and the jth subpage and the j+ath subpage Subpages are incomplete subpages.
  • the user's finger slides up d1 on the display screen, and the electronic device displays the basic page in response to the detected user operation.
  • the height of the new part of the base page is d1.
  • the newly added part of the basic page includes the i+bth subpage to the i+mth subpage of the first application page.
  • the newly added part includes the i+bth subpage to the i+mth subpage.
  • the i+b+1th subpage to the i+m-1th subpage are complete subpages
  • the i+bth subpage and the i+mth subpage can be complete subpages, or It can be an incomplete subpage.
  • r6 is greater than zero and less than the height of the i+bth subpage
  • the i+bth subpage in the newly added part of the basic page is an incomplete subpage.
  • the newly added part of the basic page only includes the subpages of the scrolling area page, and does not include the content of the non-scrolling area page.
  • the historical drawing time of the newly added part of the basic page may be: the sum of the historical drawing time of the complete subpages in the newly added part of the basic page.
  • the historical drawing time of the newly added part of the basic page may be: the sum of the historical drawing time of the subpages (including complete subpages and incomplete subpages) in the newly added part of the basic page.
  • the theoretical drawing time of the incomplete second subpage in the newly added part of the base page is equal to the historical drawing time of the second subpage multiplied by the first ratio, and the first ratio is equal to the second subpage on the base page.
  • the height of the new part is higher than the height of the second subpage.
  • the theoretical drawing time of the i+bth subpage in the basic page is determined according to the ratio of the height of the i+bth subpage in the newly added part to the height of the i+bth subpage.
  • b is a positive integer greater than or equal to zero.
  • the i+bth subpage in the newly added part is the sixth ratio, the i+bth subpage in the newly added part
  • the theoretical drawing time of is the sixth ratio multiplied by the historical drawing time of the i+bth subpage.
  • the theoretical drawing time of the i+mth subpage in the basic page is determined according to the ratio of the height of the i+mth subpage in the newly added part to the height of the i+mth subpage.
  • the historical drawing time of the new part of the basic page can be: the sum of the historical drawing time of the complete subpage (i.e. the i+b+1th subpage to the i+mth subpage) in the new part of the basic page, plus the base page The value obtained after the theoretical drawing time of the incomplete subpages (i.e., the i+b+1th subpage and the i+m-1th subpage) in the newly added part.
  • the historical drawing time of the new part of the basic page can be: the sum of the historical drawing time of the complete sub-pages in the new part, plus the average value of the historical drawing time of the two incomplete sub-pages .
  • the base page is a low-load page.
  • determining whether the base page is a low-load page according to the historical drawing time of the base page includes: determining whether the base page is a low-load page according to the historical drawing time of the base page and the historical CPU usage rate of the base page .
  • the basic page is determined to be a low-load page if the historical drawing time of each subpage in the basic page is less than the first time threshold, and the historical CPU usage of each subpage in the basic page is less than the first usage threshold, then the basic page is determined to be a low-load page if the historical drawing time of each subpage in the basic page is less than the first time threshold, and the historical CPU usage of each subpage in the basic page is less than the first usage threshold, then the basic page is determined to be a low-load page .
  • the proposed page drawing method may also include: according to the historical CPU of the subpages in the basic page Utilization rate, to determine the historical CPU usage rate of the basic page.
  • the proposed method before determining the historical CPU usage rate of the basic page according to the historical CPU usage rate of the subpages in the basic page, the proposed method further includes: the electronic device records that the electronic device draws each subpage of the first application page. The CPU usage rate of the page, and obtain the historical CPU usage rate of each of the above-mentioned sub-pages.
  • the electronic device records the CPU usage rate of the first subpage of the first application page drawn by the CPU W times, and generates W CPU usage rate data of the first subpage. And use the first algorithm to process W CPU usage data to obtain the historical CPU usage of the first subpage. Among them, W is a fixed value. When the number of records reaches W, the historical CPU usage rate of the first subpage is calculated.
  • the electronic device records the CPU usage rate of the first sub-page of the first application page drawn by the j-th CPU, and generates the j-th CPU usage data of the first sub-page. And use the first algorithm to process j CPU usage rate data to obtain the historical CPU usage rate of the first subpage.
  • the following describes how to determine the historical CPU usage rate of the basic page according to the historical CPU usage rate of the subpages in the basic page.
  • the historical CPU usage rate of the basic page may be: the sum of the historical CPU usage rates of the complete sub-pages in the basic page.
  • the historical CPU usage rate of the basic page may be: the sum of the historical CPU usage rates of the sub-pages (including complete sub-pages and incomplete sub-pages) in the basic page.
  • the theoretical CPU usage rate of the i-th subpage in the basic page is determined according to the ratio of r1 and the height of the i-th subpage.
  • the height of the i-th sub-page of r1 is the fourth ratio
  • the theoretical CPU usage rate of the i-th sub-page is the fourth ratio multiplied by the historical CPU usage rate of the i-th sub-page.
  • the height of r2 compared to the i+mth subpage is the fifth ratio
  • the theoretical CPU usage rate of the i+mth subpage is the fifth ratio multiplied by the historical CPU usage rate of the i+mth subpage.
  • the historical CPU usage rate of the basic page can be: the sum of the historical CPU usage rates of the complete sub-pages in the basic page (that is, the i+1th subpage to the i+m-1th subpage), plus the incompleteness of the basic page The value obtained after the theoretical drawing time of the sub-page (ie the i-th sub-page and the i+m-th sub-page).
  • the historical CPU usage rate of the basic page may be: the sum of the historical CPU usage rates of the complete sub-pages in the basic page plus the average value of the historical CPU usage rates of the two incomplete sub-pages.
  • the following describes how to determine the historical CPU usage rate of the basic page according to the historical CPU usage rate of the subpages in the basic page.
  • the historical CPU usage rate of the basic page may be: the sum of the historical CPU usage rate of the subpages in the scrolling area of the basic page and the historical CPU usage rate of the non-scrolling area is less than the first usage rate threshold.
  • the determination of the historical CPU usage rate of the sub-pages of the scroll area of the basic page can refer to the optional embodiment of the first type, which will not be repeated here.
  • the following describes how to determine the historical CPU usage rate of the basic page according to the historical CPU usage rate of the subpages in the basic page.
  • the historical drawing time of the newly added part of the basic page may be: the sum of the historical CPU usage of the complete subpages in the newly added part of the basic page.
  • the historical drawing time of the newly added part of the basic page may also be: the sum of the historical CPU usage rates of the subpages in the newly added part of the basic page.
  • the theoretical CPU usage rate of the incomplete second subpage in the newly added part of the basic page is equal to the historical CPU usage rate of the second subpage multiplied by the first ratio, and the first ratio is equal to the second subpage in the second subpage.
  • the height of the new part of the base page is higher than the height of the second subpage.
  • the theoretical CPU usage rate of the i+bth subpage in the basic page is determined based on the ratio of the height of the i+bth subpage in the newly added part to the height of the i+bth subpage .
  • the theoretical CPU usage rate of the i+mth subpage in the basic page is determined according to the ratio of the height of the i+mth subpage in the newly added part to the height of the i+mth subpage.
  • the historical drawing time of the new part of the basic page can be: the sum of the historical CPU usage rates of the complete subpages (i.e., the i+b+1th subpage to the i+mth subpage) in the new part of the basic page, plus the base The value obtained after theoretical CPU usage of incomplete subpages (i.e., the i+b+1th subpage and the i+m-1th subpage) in the newly added part of the page.
  • the historical drawing time of the new part of the basic page can be: the sum of the historical CPU usage of the subpages in the new part of the basic page, plus the average of the historical CPU usage of the two incomplete subpages The resulting value.
  • the first refresh period is not an idle period, the first refresh period cannot be used as a pre-drawing opportunity.
  • the pre-drawn page is drawn in the first refresh period.
  • the first application page includes the above-mentioned pre-drawn page, and the above-mentioned pre-drawn page has the same width as the base page, and only One side overlaps. It can be understood that there is an overlap between the pre-drawn page and the above-mentioned high-load page, and drawing the pre-drawn page in advance can reduce the drawing time of the above-mentioned high-load page.
  • Solution 1 At the beginning of the first refresh period, predict whether there is a possibility of drawing a high-load page in the second refresh period, and determine the pre-rendering height. How to predict has nothing to do with the pre-rendering height.
  • the pre-drawn height is the height of the pre-drawn page.
  • Solution 2 Determine the pre-rendering height at the beginning of the first refresh period, and then predict whether there is a possibility of drawing a high-load page in the second refresh period based on the pre-render height.
  • the electronic device may receive a second user operation, and the second user operation is used to slide up the first application page. If the second user operation is received, the sliding exposure page, that is, the incremental page, is drawn in the second refresh period after the next Vsync signal is sent by the CPU.
  • the foregoing predicting whether the high-load page is drawn in the second refresh cycle can be understood as predicting whether the incremental page is likely to be a high-load page, and if the incremental page is likely to be a high-load page, the incremental page is pre-drawn.
  • the exposure page of the first application program is the basic page, and the user's finger slides up on the display screen with a sliding distance of d2.
  • the electronic device After the electronic device detects the above-mentioned user operation, it responds to the above-mentioned user operation , The electronic device updates the exposure page as an incremental page. It can be seen from Figure 22 that the user’s finger slides upwards on the display screen to make the first application page slide upwards.
  • the new part of the incremental page includes the partial page of the i+mth subpage and the i+m+1th subpage. To the i+m+P-1th subpage and part of the i+m+Pth subpage.
  • the height of the i+m+Pth subpage in the newly added part of the incremental page is r8, P is a positive integer, and r8 is greater than or equal to zero and less than the height of the i+m+Pth subpage.
  • the pre-rendering height is determined to be w1; if it is determined that the first refresh period meets the second one, the pre-rendering height is determined to be Is w2. Among them, w2 is greater than w1.
  • w1 and w2 may be fixed empirical values.
  • the value of w1 in Fig. 23 is 0.5*H1
  • the value of w2 in Fig. 24 is 0.3*H2.
  • w1 may be a fixed empirical value
  • w2 may be determined according to the historical drawing time of the basic page. The smaller the historical drawing time of the basic page, the larger the value of w2.
  • w1 may be a fixed empirical value
  • w2 may be determined according to the historical drawing time of the basic page and historical CPU usage. The smaller the historical drawing time of the basic page, the larger the value of w2; the smaller the historical CPU usage of the basic page, the larger the value of w2.
  • w1 may be a fixed empirical value
  • w2 may be determined according to the historical drawing time of the base page, the historical CPU usage rate, and the historical drawing time of the incremental page. The smaller the historical drawing time of the basic page, the larger the value of w2; the smaller the historical CPU usage of the basic page, the larger the value of w2; the historical drawing time of the incremental page (that is, the drawing time of the new part of the incremental page The larger the ), the smaller the value of w2.
  • the following describes how to predict whether the incremental page is likely to be a high-load page for the first and second scenarios.
  • the historical drawing time of the incremental page in the second refresh period is equal to the historical drawing time of the newly added part of the incremental page.
  • the incremental page is determined to be a high-load page.
  • the historical drawing time of the new part of the incremental page can be: the sum of the historical drawing time of the sub-pages of the new part of the incremental page (including the complete and incomplete sub-pages of the new part of the incremental page) .
  • the theoretical drawing time of the incomplete third subpage in the newly added part of the incremental page is equal to the historical drawing time of the third subpage multiplied by the second ratio, and the second ratio is equal to the third subpage
  • the height in the new part of the incremental page is higher than the height of the third subpage.
  • the i+m+th in the incremental page is determined according to the ratio of the height r8 of the i+m+Pth subpage in the newly added part to the height of the i+m+Pth subpage
  • the theoretical drawing time of P subpages For example, the ratio of the height r8 of the i+m+P-th subpage in the newly added part to the height of the i+m+P-th subpage is the seventh ratio.
  • the theory of the i+m+P-th subpage in the newly-added part The drawing time is the seventh ratio multiplied by the historical drawing time of the i+m+P subpage.
  • the theoretical drawing time of the i+mth subpage in the basic page is determined according to the ratio of the height of the i+mth subpage in the newly added part to the height of the i+mth subpage.
  • the historical drawing time of the newly added part of the incremental page can be: the historical drawing time of the complete subpage (that is, the i+m+1th subpage to the i+m+P-1th subpage) in the newly added part of the incremental page And, plus the value obtained after the theoretical drawing time of the incomplete sub-pages (i.e., the i+m-th sub-page and the i+m+P-th sub-page) in the newly added part of the incremental page.
  • the historical drawing time of the new part of the incremental page may be: the sum of the historical drawing time of the complete subpages in the new part of the incremental page.
  • the second time threshold is equal to the refresh period.
  • the refresh period is 16.67 ms
  • the first time threshold is 16.67 ms.
  • determining whether the incremental page is a high-load page according to the historical drawing time of the newly added part of the incremental page includes: determining according to the historical drawing time in the incremental page and the historical CPU usage rate of the incremental page Whether the incremental page is a high load page.
  • the incremental page is High load pages.
  • the historical CPU usage of the new part of the incremental page can be: the historical CPU usage of the sub-pages of the new part of the incremental page (including the complete and incomplete sub-pages of the new part of the incremental page) Sum.
  • the theoretical CPU usage rate of the incomplete third subpage in the newly added part of the incremental page is equal to the historical CPU usage rate of the third subpage multiplied by the second ratio, and the second ratio is equal to the third subpage
  • the height in the new part of the incremental page is higher than the height of the third subpage.
  • the i+m+th in the incremental page is determined according to the ratio of the height r8 of the i+m+Pth subpage in the newly added part to the height of the i+m+Pth subpage
  • the theoretical CPU usage of P subpages For example, the ratio of the height r8 of the i+m+P subpage in the newly added part to the height of the i+m+P subpage is the eighth ratio, the theory of the i+m+Pth subpage in the newly added part
  • the CPU usage rate is the eighth ratio multiplied by the historical CPU usage rate of the i+m+P subpage.
  • the theoretical CPU usage rate of the i+mth subpage in the basic page is determined according to the ratio of the height of the i+mth subpage in the newly added part to the height of the i+mth subpage.
  • the historical CPU usage of the newly added part of the incremental page can be: the historical CPU usage of the complete subpage in the newly added part of the incremental page (that is, the i+m+1th subpage to the i+m+P-1th subpage)
  • the sum of the rates, plus the theoretical CPU usage rate of the incomplete sub-pages i.e., the i+m-th sub-page and the i+m+P-th sub-page
  • the historical CPU usage rate of the newly added part of the incremental page may be: the sum of the historical CPU usage rates of the complete subpages in the newly added part of the incremental page.
  • the step of predicting whether the incremental page is likely to be a high-load page may be as follows:
  • the second condition is that the historical drawing time of the newly added part of the incremental page is greater than the second time threshold.
  • the second condition is that the historical drawing time of the new part of the incremental page is greater than the second time threshold, and the historical CPU usage of the new part of the incremental page is greater than the second time threshold.
  • the incremental page may be a high-load page, and the value of P is f at this time.
  • the value of fmax is m.
  • the incremental page may be a high-load page.
  • the sub-pages in the pre-rendered page include the i+mth subpage to the i+m+Qth subpage.
  • the height of the i+m+Qth subpage in the pre-drawn page is r9, and r9 is greater than or equal to zero and less than the height of the i+m+Qth subpage.
  • the third condition may be: the historical drawing time of the pre-drawn page is greater than or equal to the third time threshold.
  • the historical drawing time of the pre-drawn page may be the sum of the historical drawing time of all the sub-pages in the pre-drawn page (including the complete sub-page and the incomplete sub-page in the pre-drawn page).
  • the theoretical drawing time of the incomplete fourth sub-page in the pre-drawn page is equal to the historical drawing time of the fourth sub-page multiplied by the third ratio
  • the third ratio is equal to the fourth sub-page in the pre-drawn page.
  • the height is higher than the height of the fourth subpage.
  • the theoretical drawing of the i+mth subpage in the pre-rendered page is determined according to the ratio of the height r2 of the i+mth subpage in the pre-drawn page to the height of the i+mth subpage in the pre-drawn page time.
  • the theoretical drawing time of the i+m+Qth subpage in the basic page is determined according to the ratio of the height r4 of the i+m+Qth subpage in the pre-rendered page to the height of the i+m+Qth subpage.
  • the historical drawing time of the pre-drawn page can be: the sum of the historical drawing time of the complete sub-page in the pre-drawn page (the i+m+1th sub-page to the i+m+Q-1th sub-page), plus the pre-drawn page The value obtained after the theoretical drawing time of the incomplete subpages (i+mth subpage and i+m+Qth subpage).
  • the historical drawing time of the pre-drawn page may be: the sum of the historical drawing time of the complete sub-pages in the pre-drawn page.
  • the third condition may be: the historical drawing time of the pre-drawn page is greater than or equal to the third time threshold, and the historical CPU usage rate of the pre-drawn page is greater than or equal to the third usage threshold.
  • the historical CPU usage rate of the pre-rendered page may be: the sum of the historical CPU usage rates of the sub-pages in the pre-rendered page (including complete sub-pages and incomplete sub-pages in the pre-rendered page).
  • the theoretical CPU usage rate of the incomplete fourth sub-page in the pre-drawn page is equal to the historical CPU usage rate of the fourth sub-page multiplied by the third ratio
  • the third ratio is equal to the third sub-page in the pre-rendered page.
  • the height of the drawing page is higher than the height of the third subpage.
  • the theoretical CPU of the i+mth subpage in the pre-rendered page is determined according to the ratio of the height r2 of the i+mth subpage in the pre-drawn page and the height of the i+mth subpage in the pre-rendered page Usage rate.
  • the historical CPU usage rate of the pre-painted page can be: the sum of the historical CPU usage rates of the complete sub-pages in the pre-painted page (that is, the i+m+1th subpage to the i+m+Q-1th subpage), plus The value obtained after the theoretical utilization rate of the incomplete sub-pages (i+m-th sub-page and i+m+Q-th sub-page) in the pre-drawn page.
  • the historical CPU usage rate of the pre-drawn page may be: the sum of the historical CPU usage rates of the complete sub-pages in the pre-drawn page.
  • the pre-drawn page is drawn during the target drawing and rendering process of the first refresh period.
  • the target page drawn during the target drawing and rendering process in the first refresh cycle includes a pre-rendered page.
  • the CPU only draws the pre-rendered page in the first refresh period, and the pre-render height is w1.
  • the target page only includes the pre-drawn page.
  • the pre-drawn page refers to the page in the first application page whose starting point is the lower edge of the sub-page in the base page and the height is the pre-drawn height.
  • the height of the drawing page is w1
  • the above-mentioned pre-drawn page may include incomplete subpages.
  • the first refresh period satisfies the second condition
  • the CPU draws the basic page and the pre-drawn page in the first refresh period
  • the height of the pre-drawn page is w2.
  • the lower edge of the subpage in the basic page is the lower edge of the basic page.
  • the lower edge of the subpage in the basic page is the lower edge of the scroll area.
  • w2 can be adjusted according to the P value, and the larger the P value, the larger w2 will be.
  • the first refresh cycle satisfies situation two
  • the first application page is of the first type
  • the CPU modifies the first parameter from H1 to H1+w2
  • the first parameter is used to control the page drawn by the CPU in the first refresh cycle height.
  • the CPU can modify the first parameter through ViewRoot.
  • the CPU draws the page according to the modified first parameter in the first refresh cycle.
  • the height of the page is H1+w2.
  • the page includes the basic page and the pre-drawn page.
  • the first parameter is modified to H1+w2, that is, the height of the page drawn by the CPU is modified.
  • the page drawn by the CPU includes a basic page and a pre-drawn page.
  • the first refresh cycle satisfies the second situation
  • the first application page is of the second type
  • the first application page includes two parts, a scrolling area and a non-scrolling area
  • the CPU modifies the second parameter of the scrolling area from H2 to H2+ w2
  • the second parameter is used to control the page height in the scroll area drawn by the CPU in the first refresh cycle.
  • the CPU can modify the second parameter through ViewRoot.
  • the CPU draws the page according to the modified second parameter in the first refresh cycle, and the drawing height of the scroll area page of the page is H2+w2.
  • the second parameter for modifying the scroll area is H2+w2, that is, the height of the scroll area page drawn by the CPU is modified.
  • the pages drawn by the CPU include the basic page and the pre-drawn page.
  • the electronic device displays the basic page in a refresh period after the first refresh period.
  • the electronic device displays the basic page in the second refresh period.
  • the pages drawn by the CPU in the first refresh period include a basic page and a pre-drawn page, but in the second refresh period, only the basic page is displayed, and the pre-drawn page is not displayed.
  • the electronic device draws the pre-drawn page in the basic page and the incremental page in the first refresh period, and only displays the basic page in the second refresh period.
  • the electronic device may display the basic page in the second refresh period, or may display the incremental page in a refresh period after the second refresh period, which is not specifically limited here.
  • the electronic device receives the second user operation at the first moment, and the first moment is after the start moment of the first refresh period.
  • the electronic device from the start time of the first refresh cycle to the first time, the electronic device does not receive the second instruction, and the second instruction is used to trigger the electronic device to update the display page from the basic page to other pages. That is, before the electronic device receives the second user operation, the electronic device always displays the basic page unchanged.
  • the refresh period at the first moment may be the first refresh period or a refresh period after the first refresh period.
  • the electronic device draws the incremental page after the start of the fourth refresh period, where the fourth refresh period is a refresh period after the first moment.
  • the incremental page and the pre-drawn page overlap. Since the controls in the overlapping portion of the incremental page and the basic page have been drawn in the first refresh cycle, the relevant data of the controls in the overlapping portion of the incremental page and the basic page has been stored in the storage area corresponding to the above-mentioned control. When the incremental page is drawn in the second refresh cycle, the above-mentioned related data can be used directly without generating it again. The same is true for the controls in the pre-drawn pages that have been drawn. Therefore, in the process of drawing the incremental page by the electronic device in the second refresh period, only the relevant data of the controls in the remaining pages need to be generated. Exemplarily, as shown in FIG. 26, it is a schematic diagram of the remaining pages other than the pre-drawn page in a newly added part of an incremental page provided by an embodiment of the present application. Therefore, the page drawing method provided in the embodiment of the present application greatly reduces the drawing time of the incremental page.
  • the incremental page is determined by the second user operation.
  • the incremental page and the pre-drawn page may or may not overlap.
  • the second user operation is uncertain before the page is drawn in the first refresh cycle, that is, the incremental page cannot be determined, because the page drawn in the first refresh cycle includes a pre-drawn page, the page drawing provided in this embodiment of the application is It is possible to reduce the drawing time of the incremental page, thereby improving the fluency of the page.
  • the electronic device displays the incremental page in a refresh period after the fourth refresh period.
  • the electronic device may display the incremental page in the refresh period after the fourth refresh period, or may display the incremental page in other refresh periods after the fourth refresh period, which is not specifically limited here.
  • the electronic device may synthesize the incremental page in the refresh period after the fourth refresh period, and display the incremental page in the second refresh period after the fourth refresh period.
  • the electronic device draws the pre-drawn page in the basic page and the incremental page in the first refresh period. If the electronic device receives the second user operation at the first moment in the first refresh period, the second refresh period is the fourth refresh period. The electronic device draws the incremental page after the start of the second refresh period and refreshes it in the second refresh period. The refresh cycle after the cycle displays the incremental page.
  • the electronic device draws the pre-drawn page in the incremental page in the first refresh period. If the electronic device receives the second user operation at the first moment in the second refresh period, the next refresh period of the second refresh period is the fourth refresh period. The electronic device still displays the basic page in the next refresh period of the second refresh period, the first electronic device draws the incremental page after the start of the next refresh period of the second refresh period, and displays it in the next refresh period of the fourth refresh period Incremental page.
  • the incremental page is a high-load page, and the required drawing time may exceed the refresh period.
  • the page drawing method proposed in this embodiment of the application pre-draws some pages of the newly added portion of the incremental page in the first refresh period in advance Therefore, the pressure of drawing the incremental page in the fourth refresh period is shared, and the time for drawing the incremental page in the fourth refresh period is shortened. Therefore, the page drawing method provided in the embodiment of the present application can effectively reduce the possibility that the drawing time of the incremental page in the fourth refresh period exceeds the refresh period, thereby effectively avoiding the problem of "frame dropping" and improving page fluency.
  • FIG. 29 is a schematic flowchart of another page drawing method provided by an embodiment of the application. Referring to Fig. 29, the method may include, but is not limited to, step S301 to step S303. among them:
  • the electronic device receives a display instruction, where the display instruction is used to instruct the electronic device to display a basic page in the first application page.
  • the user can slide the first application page up and down to view more content of the first application page.
  • the first page is a part of the first application page.
  • the foregoing display instruction may be the first instruction in the foregoing embodiment. Referring to FIGS. 11 and 12, if the electronic device receives the first instruction in the first refresh period, the electronic device draws the basic page in the first refresh period. If the electronic device does not receive the first instruction in the first refresh period, the electronic device does not need to draw the page in the first refresh period.
  • the first application page includes B consecutive subpages.
  • the basic page includes the i-th sub-page to the i+m-th sub-page among the B consecutive sub-pages, B is a positive integer greater than zero, and m is a positive integer less than B;
  • the height of i sub-pages in the base page is greater than or equal to zero and less than the height of the i-th sub-page, and the height of the i+m-th sub-page in the base page is greater than or equal to zero and less than the height of the i+m-th sub-page.
  • the i-th sub-page is in the base
  • the i-th sub-page is an incomplete sub-page in the base page.
  • the electronic device draws a pre-drawn page in the first refresh period, and the pre-drawn page is adjacent to the basic page in the first application page.
  • the above-mentioned electronic device drawing the pre-drawn page in the first refresh period includes: when the electronic device does not draw the page in the first refresh period or the historical drawing time of the basic page drawn in the first refresh period is less than the first refresh period.
  • the time threshold is set, it is predicted whether the high-load page is drawn in the second refresh period; when the high-load page is predicted in the second refresh period, the electronic device draws the pre-drawn page in the first refresh period.
  • the above-mentioned electronic device drawing the pre-drawn page in the first refresh period includes: when the electronic device does not draw the page in the first refresh period, or the historical drawing time of the basic page drawn in the first refresh period is less than the first refresh period.
  • a time threshold, and the historical CPU usage of the basic page drawn in the first refresh cycle is less than the first time threshold predict whether the high-load page will be drawn in the second refresh cycle; when it is predicted that the high-load page will be drawn in the second refresh cycle, The electronic device draws the pre-drawn page in the first refresh period.
  • drawing the pre-drawn page in the first refresh period by the above electronic device includes: the electronic device modifies the first parameter from the first height value to the second height value; the first parameter is used to control the electronic device in the first height value.
  • the height of the page drawn in the refresh cycle, the second height value is equal to the first height value plus the pre-drawn height; if a display command is received in the previous refresh of the first refresh cycle, the first height value is the height of the base page,
  • the first refresh period is used to draw the basic page and the pre-drawn page; if no display instruction is received in the previous refresh of the first refresh period, the first height value is zero, and the first refresh period is used to draw only the pre-drawn page;
  • the electronic device draws the pre-drawn page according to the first parameter in the first refresh period.
  • the method before the electronic device draws the pre-drawn page in the first refresh period, the method further includes: determining the height of the pre-drawn page.
  • the above determining the height of the pre-drawn page includes: if the first instruction is not received in the third refresh period, determining that the height of the pre-drawn page is w1, and if the first instruction is received in the third refresh period, then Make sure that the height of the pre-drawn page is w2, where w2 is smaller than w1.
  • w2 takes the value w3; if the first application page does not include the source page, w2 takes the value w4, where w4 is smaller than w3.
  • the larger the historical drawing time of the newly added part of the basic page the smaller w2.
  • the method before predicting whether the high-load page is drawn in the second refresh cycle, the method further includes: recording the T drawing time of the first subpage of the first application page; and obtaining according to the T drawing time data of the first subpage The historical drawing time of the first subpage. How to obtain the historical drawing time of the first sub-page according to the T drawing times of the first sub-page can refer to the foregoing embodiment, which will not be repeated here.
  • the method before predicting whether the high-load page is drawn in the second refresh cycle, the method further includes: recording T CPU usage rates of the first sub-page of the first application page; and according to T CPU usage data of the first sub-page To get the historical CPU usage of the first subpage. How to obtain the historical CPU usage rate of the first sub-page according to the T CPU usage rates of the first sub-page can refer to the foregoing embodiment, which will not be repeated here.
  • the electronic device displays the basic page in a second refresh period, where the second refresh period is a refresh period after the first refresh period.
  • the sliding operation may refer to the second user operation in the foregoing embodiment.
  • the sliding operation is used to instruct the electronic device to update the basic page displayed by the electronic device to an incremental page.
  • the method before the electronic device displays the incremental page, the method further includes: the electronic device draws the incremental page in the next refresh period after receiving the sliding operation.
  • pre-drawn page is drawn in advance in the embodiment of the present application, which can reduce the drawing time of the incremental page in the second refresh period.
  • predicting whether the high-load page is drawn in the second refresh period includes: determining whether the incremental page is likely to be a high-load page; if so, predicting that the high-load page is drawn in the second refresh period.
  • the incremental page may include the i+qth page to the i+m+Pth subpage among the B consecutive subpages, and the new part of the incremental page includes the basic page and the non-incremental page of the incremental page.
  • the overlapping part that is, the i+mth subpage to the i+m+Pth subpage, the height of the max(i+m, i+q)th subpage in the newly added part of the incremental page is greater than or equal to zero and less than the i+th
  • the height of m subpages, the height of the i+m+P subpage in the incremental page is greater than or equal to zero and less than the height of the i+m+P subpage
  • q is a positive integer greater than zero and less than or equal to the first value
  • P is A positive integer greater than zero and less than or equal to the second value
  • max(i+m, i+q) represents the maximum value of i+m and i+q.
  • FIG. 26 is a schematic diagram of overlap between the pre-drawn page and the incremental page.
  • the above determination of the possibility of determining whether the incremental page is a high-load page includes: within the value range of q and P, if the historical drawing time of the new part of the incremental page is greater than or equal to the second time threshold , It is determined that the incremental page has the possibility of being a high-load page.
  • the above-mentioned possibility of determining whether the incremental page is a high-load page includes: optional, the above-mentioned possibility of determining whether the incremental page is a high-load page, including: in the value range of q and P If the historical drawing time of the new part of the incremental page is greater than or equal to the second time threshold, and the historical CPU usage of the new part of the incremental page is greater than or equal to the second usage threshold, determine whether the incremental page has Possibility for high load pages.
  • the first value is equal to m.
  • predicting whether to draw a high-load page in the second refresh period includes: determining, according to the height of the pre-drawn page, that the pre-drawn page includes the i+mth subpage to the i+m+Qth subpage of the first application page Sub-pages, the height of the i+m+Q-th sub-page in the pre-drawn page is greater than or equal to zero and less than the height of the i+m+Q-th sub-page, and Q is a positive integer greater than zero; judge whether the pre-drawn page meets the third condition; If it is satisfied, it is predicted that the high-load page will be drawn in the second refresh cycle.
  • how to determine whether the incremental page has the possibility of being a high-load page can refer to the embodiment corresponding to the second solution, which will not be repeated here.
  • the third condition is that the historical drawing time of the pre-drawn page is greater than or equal to a third time threshold.
  • the third condition is that the historical drawing time of the pre-drawn page is greater than or equal to a third time threshold, and the historical CPU usage rate of the pre-drawn page is greater than or equal to the third usage threshold.
  • the first refresh cycle is used to display the source page, and when the first application page includes the source page, the newly added part of the basic page is the source page The non-overlapping part of the basic page.
  • the new part of the basic page is the basic page; if the display command is not received in the previous refresh of the first refresh cycle, the basic page is added Part is the base page.
  • the historical drawing time of the base page drawn in the first refresh period is equal to the historical drawing time of the newly added part of the base page.
  • the historical CPU usage rate of the added part and/or the historical CPU usage rate of the pre-rendered page can refer to the foregoing embodiment, and will not be repeated here.
  • the embodiment of the present application also provides a computer-readable storage medium.
  • the methods described in the foregoing method embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the functions can be stored on a computer-readable medium or transmitted on a computer-readable medium as one or more instructions or codes.
  • Computer-readable media may include computer storage media and communication media, and may also include any media that can transfer a computer program from one place to another.
  • the storage medium may be any available medium that can be accessed by a computer.
  • the computer-readable storage medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or carry instructions or data.
  • the structured form stores the required program code and can be accessed by the computer.
  • any connection is properly termed a computer-readable medium. For example, if you use coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wireless technology (such as infrared, radio and microwave) to transmit software from a website, server or other remote source, then coaxial cable, fiber optic cable , Twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of the medium.
  • DSL digital subscriber line
  • wireless technology such as infrared, radio and microwave
  • Magnetic disks and optical disks as used herein include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks and blu-ray disks, where disks usually reproduce data magnetically, while optical disks reproduce data optically using lasers. Combinations of the above should also be included in the scope of computer-readable media.
  • the embodiment of the present application also provides a computer program product.
  • the methods described in the foregoing method embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If it is implemented in software, it can be fully or partially implemented in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the above computer program instructions are loaded and executed on the computer, the procedures or functions described in the above method embodiments are generated in whole or in part.
  • the above-mentioned computer may be a general-purpose computer, a special-purpose computer, a computer network, network equipment, user equipment, or other programmable devices.

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

一种页面绘制方法及相关装置
本申请要求于2019年12月31日提交中国专利局、申请号为201911419974.2、申请名称为“一种页面绘制方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,尤其涉及一种页面绘制方法及相关装置。
背景技术
目前,手机上的应用界面越来越复杂,一个页面可以包含数十个控件,例如、购物商城应用程序(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 digital assistant,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 processing unit,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 circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/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),显示屏串行接口(display serial 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可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local 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),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,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),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting 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),用于在上述提及的悬浮窗口中作为默认的显示应用,并提供给用户进入其他应用的入口。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming 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等可视的界面元素。
页面:本申请的说明书和权利要求书及附图中的术语“页面”也可以被称为“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,HTML),层叠样式表(cascading style 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是连接窗口服务管理(Window Manager Service)和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任一项所述的方法。
PCT/CN2020/134271 2019-12-31 2020-12-07 一种页面绘制方法及相关装置 WO2021135838A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021135838A1 true WO2021135838A1 (zh) 2021-07-08

Family

ID=76686557

Family Applications (1)

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

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327738A (zh) * 2022-03-14 2022-04-12 恒生电子股份有限公司 用户界面的刷新方法、装置、电子设备及可读存储介质
CN114327194A (zh) * 2021-12-30 2022-04-12 展讯通信(上海)有限公司 列表滑动的控制方法、装置及终端

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741380B (zh) * 2021-11-08 2022-02-15 西安热工研究院有限公司 Dcs监视画面刷新方法、系统、设备及可读存储介质
CN116600175B (zh) * 2023-07-18 2023-10-20 荣耀终端有限公司 丢帧预测方法和电子设备
CN116643831B (zh) * 2023-07-27 2023-10-13 城云科技(中国)有限公司 Canvas绘制重叠文字的优化方法、装置及其应用

Citations (7)

* 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
CN103309563A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 已显示页面的切换方法及装置
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 奇酷互联网络科技(深圳)有限公司 应用程序提速方法、系统、移动终端及可读存储介质
CN108595230A (zh) * 2018-05-15 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN110286928A (zh) * 2019-06-25 2019-09-27 北京字节跳动网络技术有限公司 应用程序的界面元素更新方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423784A (zh) * 2013-09-04 2015-03-18 腾讯科技(深圳)有限公司 一种页面显示的方法和装置
CN104808984B (zh) * 2015-03-24 2018-01-19 魅族科技(中国)有限公司 显示界面刷新方法及装置
CN106708495B (zh) * 2015-11-18 2021-05-07 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
US20180018304A1 (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 北京猎豹移动科技有限公司 一种页面加载方法、装置及电子设备
CN110515610B (zh) * 2019-06-27 2021-01-29 华为技术有限公司 页面绘制的控制方法、装置及设备

Patent Citations (7)

* 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
CN103309563A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 已显示页面的切换方法及装置
CN106504026A (zh) * 2016-10-26 2017-03-15 广州华多网络科技有限公司 一种数据获取方法和装置
CN107479894A (zh) * 2017-08-21 2017-12-15 奇酷互联网络科技(深圳)有限公司 应用程序提速方法、系统、移动终端及可读存储介质
CN108595230A (zh) * 2018-05-15 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN110286928A (zh) * 2019-06-25 2019-09-27 北京字节跳动网络技术有限公司 应用程序的界面元素更新方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327194A (zh) * 2021-12-30 2022-04-12 展讯通信(上海)有限公司 列表滑动的控制方法、装置及终端
CN114327738A (zh) * 2022-03-14 2022-04-12 恒生电子股份有限公司 用户界面的刷新方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN113132526B (zh) 2022-07-22
CN113132526A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
WO2021027747A1 (zh) 一种界面显示方法及设备
WO2021036735A1 (zh) 显示用户界面的方法及电子设备
WO2021129326A1 (zh) 一种屏幕显示方法及电子设备
WO2021103981A1 (zh) 分屏显示的处理方法、装置及电子设备
WO2021036571A1 (zh) 一种桌面的编辑方法及电子设备
WO2021135838A1 (zh) 一种页面绘制方法及相关装置
WO2021000881A1 (zh) 一种分屏方法及电子设备
WO2020221063A1 (zh) 切换父页面和子页面的方法、相关装置
WO2021000839A1 (zh) 一种分屏方法及电子设备
WO2021000804A1 (zh) 锁定状态下的显示方法及装置
WO2020253758A1 (zh) 一种用户界面布局方法及电子设备
WO2021036770A1 (zh) 一种分屏处理方法及终端设备
WO2021082835A1 (zh) 启动功能的方法及电子设备
WO2020062294A1 (zh) 系统导航栏的显示控制方法、图形用户界面及电子设备
CN113254120B (zh) 数据处理方法和相关装置
US11914850B2 (en) User profile picture generation method and electronic device
WO2022199509A1 (zh) 应用执行绘制操作的方法及电子设备
CN113986070B (zh) 一种应用卡片的快速查看方法及电子设备
WO2020155875A1 (zh) 电子设备的显示方法、图形用户界面及电子设备
WO2021082815A1 (zh) 一种显示要素的显示方法和电子设备
WO2022012418A1 (zh) 拍照方法及电子设备
CN114327127A (zh) 滑动丢帧检测的方法和装置
WO2022213831A1 (zh) 一种控件显示方法及相关设备
WO2022194190A1 (zh) 调整触摸手势的识别参数的数值范围的方法和装置
WO2021190524A1 (zh) 截屏处理的方法、图形用户接口及终端

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20908851

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20908851

Country of ref document: EP

Kind code of ref document: A1