Terminal device processing method and related apparatus
By transmitting initialization completion indication information in the first driver of the terminal device and using the auxiliary core to control initialization, the problem of long component startup or wake-up time is solved, improving system performance and user experience.
Patent Information
- Application Number
- PCT/CN2025/093234
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-07
- Filing Date
- 2025-05-07
- Publication Date
- 2025-12-11
AI Technical Summary
The terminal device takes a long time to start up or wake up, resulting in a poor user experience.
Before the component initialization operation is completed, the first driver of the terminal device transmits an indication that the initialization is complete. It controls the component to perform the initialization operation through the auxiliary core, reduces the computing power requirement of the main core, and transmits data within a preset time.
This shortened the total time for component initialization and data acquisition, improving system performance and user experience.
Smart Images

Figure CN2025093234_11122025_PF_FP_ABST
Abstract
Description
Processing method of terminal device and related apparatus
[0001] The present application claims priority to the Chinese patent application No. 202410744004.4, filed on June 7, 2024, and entitled "Processing method of terminal device and related apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the technical field of terminal, in particular to a processing method of terminal device and related apparatus. BACKGROUND
[0003] In the field of terminal, the components of terminal device need to be initialized when starting or waking up. For example, after the kernel of the terminal device receives a screen starting or waking up instruction, the instruction can be reported to the application layer / service layer first, then the application layer / service layer issues a screen-on request to the screen driver in the kernel of the terminal device, and the screen driver can control the screen to perform initialization operation after receiving the request.
[0004] However, it is found in use that the time required for the components of the terminal device to start or wake up is long, and the user experience is poor. SUMMARY
[0005] The present application provides a processing method of terminal device and related apparatus, which can shorten the time length of starting or waking up the components of the terminal device.
[0006] In a first aspect, the present application provides a processing method of terminal device, which is applied to a first driver for driving a first component of the terminal device. The method comprises: receiving a first instruction, the first instruction being used to request to start or wake up the first component; controlling the first component to perform initialization operation; and transmitting first indication information before the initialization operation of the first component is completed, the first indication information indicating that the initialization operation of the first component is completed.
[0007] As an example, the first component can include a screen, an audio device, a touch screen (TP), an embedded memory (eMMC), etc.
[0008] When the first component is a screen, the first driver can be a screen driver.
[0009] When the first component is an audio device, the first driver can be an audio driver.
[0010] When the first component is a TP, the first driver can be a TP driver.
[0011] When the first component is an eMMC, the first driver can be an eMMC driver.
[0012] Taking the first component as a screen as an example, the screen driver can transmit first indication information to an application layer or a service layer in the terminal device before a screen initialization operation is completed, the first indication information indicating that the screen initialization operation is completed. Correspondingly, after receiving the first indication information, the application layer or the service layer in the terminal device can perform drawing and rendering based on the first indication information to obtain picture display data, and transmit the obtained picture display data to the screen driver, and then the screen driver can control the screen to output the picture display data.
[0013] In this method, the first driver can transmit the first indication information without waiting for the completion of the initialization operation of the first component, which can shorten the total time length of the initialization of the first component and the acquisition of data, and is beneficial to shorten the time length of the startup and wake-up of the first component, as compared with the prior art in which the first driver transmits the first indication information after the completion of the initialization operation of the first component.
[0014] In some possible implementation manners, the first driver is deployed in a main core of the terminal device, and the terminal device further includes an auxiliary core, and the auxiliary core includes a second driver, and the second driver is configured to drive the first component.
[0015] The control of the first component to perform the initialization operation includes that the first driver transmits second indication information to the second driver, and the second indication information indicates that the second driver controls the first component to perform the initialization operation.
[0016] In this implementation manner, the auxiliary core is used to control the first component to perform the initialization operation, that is, the main core does not need to be used to control the first component to perform the initialization operation, which can reduce the computing power requirement of the main core, thereby reducing the load of the main core and being beneficial to improve the system performance.
[0017] In some possible implementation manners, the terminal device further includes an application layer or a service layer.
[0018] The transmission of the first indication information includes that, after the first driver transmits the second indication information to the second driver, the first driver transmits the first indication information to the application layer or the service layer, and a time interval between a transmission time of the second indication information and a transmission time of the first indication information is less than or equal to a preset time length.
[0019] In this implementation manner, the preset time length can be much smaller than a time length of the initialization operation of the first component, which can further shorten the total time length of the initialization of the first component and the acquisition of data, and is beneficial to shorten the time length of the startup and wake-up of the first component.
[0020] In some possible implementation manners, the method further includes: the first driver receiving first data; the first driver receiving third indication information from the second driver, the third indication information indicating that the initialization operation of the first component has been confirmed to be completed; and the first driver controlling the first component to output the first data based on a time when the third indication information is received and a time when the first data is received.
[0021] Optionally, the first data can be data generated after the application layer or the service layer of the terminal device receives the first indication information.
[0022] For example, the first component is a screen, and the first data can be picture display data obtained after the application layer or the service layer of the terminal device performs drawing or rendering after receiving the first indication information.
[0023] In the method, the first driver can control the first component to output the first data based on the time when the third indication information is received and the time when the first data is received, so as to facilitate ensuring that the control logic of the first component is normal, and avoiding a problem that the first component cannot normally output data due to logic confusion when the first driver and the second driver simultaneously control the first component.
[0024] In some possible implementation manners, the time when the third indication information is received is earlier than the time when the first data is received.
[0025] The control of the first component to output the first data includes: after the first driver receives the first data, the first driver controls the first component to output the first data.
[0026] In the implementation manner, the time when the third indication information is received is earlier than the time when the first data is received, that is, the time length required by the initialization operation of the first component is less than the time length required by the first driver to obtain the first data from the application layer or the service layer of the terminal device. In this case, after the first driver receives the first data, the first driver can normally control the first component to output the first data.
[0027] In some possible implementation manners, the time when the third indication information is received is later than the time when the first data is received.
[0028] The control of the first component to output the first data includes: after the first driver receives the first data, the first driver stores all or part of the data in the first data; and after the first driver receives the third indication information, the first driver controls the first component to output all or part of the data in the first data.
[0029] Alternatively, the method further comprises: deleting the first data after the first driver receives the first data; and controlling the first component to output second data if the first driver receives the second data after receiving the third indication information.
[0030] Optionally, in the case that the data output by the first component is fixed data, or in the case that the data output by the first component does not change over time, when the first driver receives the first data, the initialization operation of the first component has not been completed, at this time the first component is controlled by the second driver in the auxiliary core, and the first driver can store all or part of the first data. After the initialization operation of the first component is completed, the second driver in the auxiliary core can no longer control the first component, and at this time the first driver can control the first component to output all or part of the first data.
[0031] Optionally, in the case that the data output by the first component is dynamic data, or in the case that the data output by the first component changes in real time over time, when the first driver receives the first data, the initialization operation of the first component has not been completed, at this time the first component is controlled by the second driver in the auxiliary core. After the initialization operation of the first component is completed, the second driver in the auxiliary core can no longer control the first component, and after the initialization operation of the first component is completed, the data to be displayed by the terminal device changes, so the first data can be deleted, and after the first driver receives second data, the first component is controlled to output the second data.
[0032] In a second aspect, a processing apparatus of a terminal device is provided. The processing apparatus can be used in the terminal device of the first aspect. The processing apparatus can be the terminal device, or a device (for example, a chip, a chip system, or a circuit) in the terminal device, or a logic module or software capable of realizing all or part of the functions of the terminal device. In a possible implementation, the processing apparatus includes modules or units for implementing the method in the first aspect and any possible implementation manner of the first aspect. For example, the processing apparatus can include modules or units corresponding to the method described in the first aspect. The modules or units can be hardware circuits, software, or a combination of hardware circuits and software. Optionally, each module or unit can realize the corresponding function by executing a computer program.
[0033] In a third aspect, a processing apparatus of a terminal device is provided. The processing apparatus includes a processor configured to cause the apparatus to perform the method in the first aspect and any possible implementation manner of the first aspect by executing a computer program (or computer executable instructions) stored in a memory.
[0034] In a possible implementation, the apparatus further includes a memory.
[0035] In a possible implementation, the processor and the memory are integrated together.
[0036] In another possible implementation, the memory is located outside the processing apparatus.
[0037] In a possible implementation, the processing apparatus further includes a communication interface, which is configured to perform communication, such as transmission or reception of data and / or signals, between the processing apparatus and other devices. For example, the communication interface can be a transceiver, a circuit, a bus, a module, or other types of communication interfaces.
[0038] In a fourth aspect, the present application provides a computer readable storage medium, which stores a computer program or instructions for a processing apparatus of a terminal device to execute, and when the computer program or instructions run on the processing apparatus, the method in the first aspect and any possible implementation manner thereof is implemented.
[0039] In a fifth aspect, the present application provides a computer program product including instructions, and when the computer program product runs on a processing apparatus of a terminal device, the method in any one of the first aspect to the fifth aspect and any possible implementation manner thereof is implemented.
[0040] In a sixth aspect, the present application provides a chip, and the chip stores a computer program, and when the computer program is executed by the chip, the method in the first aspect and any possible implementation manner thereof is implemented.
[0041] It can be understood that the effects of the second aspect to the sixth aspect can refer to the description in the first aspect, and will not be described here. BRIEF DESCRIPTION OF DRAWINGS
[0042] FIG. 1 is a structural schematic diagram of a terminal device according to an embodiment of the present application;
[0043] FIG. 2 is a software structure block diagram of a terminal device according to an embodiment of the present application;
[0044] FIG. 3 is a method for screen lightening of a terminal device;
[0045] FIG. 4 is another method for screen lightening of a terminal device;
[0046] FIG. 5 is a flowchart of a processing method of a terminal device according to an embodiment of the present application;
[0047] FIG. 6 is a schematic diagram of a driver deployed in a main core and an auxiliary core according to an embodiment of the present application;
[0048] FIG. 7 is a diagram illustrating a start-up or wake-up duration of a first component according to an embodiment of the present application;
[0049] FIG. 8 is a diagram illustrating a start-up or wake-up duration of a first component according to another embodiment of the present application;
[0050] FIG. 9 is a diagram illustrating a start-up or wake-up duration of a first component according to yet another embodiment of the present application;
[0051] FIG. 10 is a diagram illustrating a start-up or wake-up duration of a first component according to yet another embodiment of the present application;
[0052] FIG. 11 is a diagram illustrating a start-up or wake-up duration of a first component according to yet another embodiment of the present application;
[0053] FIG. 12 is a diagram illustrating a start-up or wake-up duration of a first component according to yet another embodiment of the present application;
[0054] FIG. 13 is a diagram illustrating a process flow of a terminal device according to an embodiment of the present application;
[0055] FIG. 14 is a diagram illustrating a structure of a processing apparatus of a terminal device according to an embodiment of the present application;
[0056] FIG. 15 is a diagram illustrating a structure of a processing apparatus of a terminal device according to another embodiment of the present application. DETAILED DESCRIPTION
[0057] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0058] In order to clearly describe the technical solutions in the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same functions and effects are distinguished by using “first”, “second”, etc. For example, the first information and the second information are only used to distinguish different information, and the order is not limited. Those skilled in the art can understand that the “first”, “second”, etc. do not limit the quantity and execution order, and the “first”, “second”, etc. also do not necessarily mean different.
[0059] In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more. The "and / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after it. "At least one of the following" or similar expressions means any combination of these items, including any combination of single item or multiple items. For example, at least one of a, b and (or) c can represent a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.
[0060] The wearable terminal device such as a mobile phone, a tablet computer, a personal computer (PC), a smart screen, a car machine device, and a smart watch, etc. involved in the embodiments of the present application can also be various teaching aids (such as learning machines, early education machines), smart toys, portable robots, personal digital assistants (PDAs), augmented reality (AR) devices, virtual reality (VR) devices, etc. It can also be a device with mobile office function, a device with smart home function, a device with audio-visual entertainment function, a device supporting smart travel, etc. It should be understood that the embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
[0061] In order to better understand the embodiments of the present application, the hardware structure of the terminal device of the embodiments of the present application is introduced as follows. Exemplarily, FIG. 1 is a structural schematic diagram of a terminal device provided by the embodiments of the present application.
[0062] The terminal device can include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a loudspeaker 170A, a receiver 170B, a microphone 170C, a headset interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0063] Optionally, the above-described sensor module 180 can include a pressure sensor 180A, a gyro 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, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0064] It can be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device. In other embodiments of the present application, the terminal device can include more or fewer components than the illustration, or combine certain components, or split certain components, or different component arrangements. The illustrated components can be implemented in hardware, software, or a combination of software and hardware.
[0065] The processor 110 can include one or more processing units. For example, the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, etc. Different processing units can be independent devices or integrated into one or more processors. The processor 110 can also be provided with a memory for storing instructions and data.
[0066] In the embodiments of the present application, the processor 110 can include multiple processing units, such as an application processor and a sensor processing chip (sensor hub). The application processor can deploy a main core, which can be a hardware circuit, software, or a combination of hardware circuit and software. For example, the main core can be a chip or chip system in the application processor. The sensor processing chip can deploy an auxiliary core, which can be a hardware circuit, software, or a combination of hardware circuit and software. For example, the auxiliary core can be a chip or chip system in the sensor processing chip.
[0067] Optionally, in some embodiments, the main core and the auxiliary core can also be deployed in the same processing unit.
[0068] The USB interface 130 is an interface conforming to the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal device, and can also be used to transmit data between the terminal device and a peripheral device. It can also be used to connect a headset to play audio through the headset. The interface can also be used to connect other terminal devices, such as AR devices, etc.
[0069] The charging management module 140 is configured to receive charging input from a charger. The charger can be a wireless charger or a wired charger. The charging management module 140 can charge the battery 142 while also charging the terminal device through the power management module 141.
[0070] The power management module 141 is configured 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 charging management module 140 to power the processor 110, the internal memory 121, the external memory, the camera 193, the display screen 194, the audio module 170, and the wireless communication module 160, etc. In some embodiments, the power management module 141 can also be disposed in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be disposed in the same device.
[0071] Optionally, in some embodiments, the power management module 141 can also be referred to as a battery management unit (PMU). The PMU can be configured to obtain state information of the battery 142, such as the remaining capacity and temperature of the battery 142, etc.
[0072] The wireless communication function of the terminal device can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor, etc.
[0073] The antenna 1 and the antenna 2 are configured to transmit and receive electromagnetic wave signals. The antennas in the terminal device can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas.
[0074] The mobile communication module 150 can provide a solution for wireless communication including 2G / 3G / 4G / 5G, etc. applied to the terminal device. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can also amplify the signals modulated by the modem processor, and radiate the signals as electromagnetic waves through the antenna 1.
[0075] The wireless communication module 160 can provide a solution for wireless communication including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), etc. applied to the terminal device. The wireless communication module 160 can be one or more devices integrated with at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 can also receive signals to be transmitted from the processor 110, perform frequency modulation and amplification on the signals, and radiate the signals as electromagnetic waves through the antenna 2.
[0076] In some embodiments, the antenna 1 and the mobile communication module 150 of the terminal device are coupled, and the antenna 2 and the wireless communication module 160 are coupled, so that the terminal device can communicate with the network and other devices through wireless communication technology.
[0077] The camera 193 is used to capture still images or videos. In some embodiments, the terminal device can include one or N cameras 193, N being a positive integer greater than 1.
[0078] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. In some embodiments, the terminal device can include one or N display screens 194, N being a positive integer greater than 1.
[0079] In the embodiments of the present application, the interface of the preset application, etc. can be displayed on the display screen 194. The interface of the preset application can include a video frame picture, a video duration, etc.
[0080] In some embodiments of the present application, the preset application can include, but is not limited to, a video playing application, an audio playing application, a game application, a shopping application, and a social application, and the like, which can play audio or video.
[0081] The terminal device can realize the display function through a graphics processing unit (GPU), a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, connected with the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The GPU can also be referred to as a display core, a visual processor, and a display chip, etc.
[0082] The terminal device can realize the shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor, etc.
[0083] The video codec is used for compressing or decompressing digital video. The terminal device can support one or more video codecs. In this way, the terminal device can play or record videos in multiple encoding formats, such as moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc. In addition, the terminal device can realize the encapsulation and playing of audio and video data and screen recording data, etc.
[0084] In some embodiments, the display screen can also be referred to as a physical screen.
[0085] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to realize the expansion of the storage capacity of the terminal device. The external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example, files such as music and videos are saved in the external memory card.
[0086] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The internal memory 121 can include a program storage area and a data storage area. The program storage area can store application programs required by at least one function in the operating system (such as a sound playing function, an image playing function, etc.), etc. The data storage area can store data created during the use of the terminal device (such as audio data, a phonebook, etc.), etc.
[0087] The terminal device can realize the audio function through an audio module 170, a loudspeaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, and an application processor, etc. For example, music playing, recording, etc.
[0088] The audio module 170 converts digital audio information into analog audio signals and vice versa. The speaker 170A, also called a "loudspeaker", converts audio electrical signals into sound signals. The terminal device can listen to music or take a hands-free call through the speaker 170A. The receiver 170B, also called a "earpiece", converts audio electrical signals into sound signals. When the terminal device is on a call or receiving a voice message, the receiver 170B can be held close to the ear to listen to the voice. The microphone 170C, also called a "microphone", "mic", converts sound signals into electrical signals. The earphone interface 170D is used to connect a wired earphone.
[0089] The pressure sensor 180A is used to sense a pressure signal and convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194. When a touch operation is performed on the display screen 194, the terminal device can detect the intensity of the touch operation according to the pressure sensor 180A. The terminal device can also calculate the position of the touch according to the detection signal of the pressure sensor 180A.
[0090] The gyroscope sensor 180B can be used to determine the motion posture of the terminal device. The barometer sensor 180C is used to measure air pressure. The magnetic sensor 180D includes a Hall sensor. The acceleration sensor 180E can detect the acceleration of the terminal device in each direction (generally three axes). The distance sensor 180F is used to measure distance. The proximity light sensor 180G can include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The ambient light sensor 180L is used to sense ambient light brightness. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect temperature.
[0091] The touch sensor 180K can be disposed on the display screen 294, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch panel". The touch sensor 180K is used to detect a touch operation acting on or near it. The touch sensor 180K can pass the detected touch operation to the application processor to determine the touch event type. The visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be disposed on the surface of the terminal device, which is different from the position where the display screen 194 is located.
[0092] The bone conduction sensor 180M can obtain a vibration signal.
[0093] The keys 190 include a power key, a volume key, and the like. The keys 190 can be mechanical keys. Alternatively, the keys 190 can be touch keys. The terminal device can receive key input and generate key signal input related to user settings and function control of the terminal device. The motor 191 can generate a vibration prompt. The indicator 192 can be an indicator light and can be used to indicate a charging state, a power change, and can also be used to indicate a message, a missed call, a notification, and the like. The timer 196 can be used to record time information. For example, when the terminal device records a video, the start time and the end time of the video can be recorded, and the length of the recorded video can also be recorded.
[0094] In embodiments of the present application, as an example, the software system of the terminal device can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The layered architecture can adopt an Android system, or an Apple (IOS) system, or other operating systems, which are not limited in embodiments of the present application. Hereinafter, taking FIG. 2 as an example, the software structure of the terminal device is exemplarily described.
[0095] FIG. 2 is a software structure block diagram of a terminal device provided in embodiments of the present application. The layered architecture divides the software system of the terminal device into several layers, each layer has a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the system can include an application layer (applications), an application framework layer, an Android runtime and a system library, a hardware abstraction layer (HAL), and a kernel layer.
[0096] The application layer can include a series of application packages. The application layer runs the application by calling the application programming interface (API) provided by the application framework layer.
[0097] For example, the application packages can include camera, gallery, calendar, call, map, navigation, wireless local area networks (WLAN), Bluetooth, music, video, short message, lock screen, and the like. Of course, the application layer can also include third-party application packages, such as a social application, a third-party music application, a third-party video application, a payment application, a shopping application, a bank application, a chat application, or a financial application, which are not limited in the present application.
[0098] Optionally, in some embodiments, the application layer can also be referred to as an application layer.
[0099] The application framework layer provides an application programming interface (API) and a programming framework for applications of the application layer. The application framework layer includes some pre-defined functions. For example, it can include an activity manager, a window manager, a content provider, a view system, a resource manager, an audio service, and the like, without any limitation in the embodiments of the present application.
[0100] Optionally, in some embodiments, the application framework layer can also be referred to as a service layer.
[0101] The Android system runtime includes a core library, a virtual machine, and a virtual machine monitor. The Android system runtime is responsible for scheduling and management of the Android system. The core library includes two parts: one part is a function function that needs to be called by the java language, and the other part is the core library of the Android system. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the java files of the application layer and the application framework layer into binary files. The virtual machine is used to perform functions such as management of object life cycle, stack management, thread management, security and exception management, and garbage collection.
[0102] The system library can include modules of multiple functions, such as a surface manager, a media library, a three-dimensional graphics processing library, and a recognition algorithm module.
[0103] The surface manager is used to manage the display subsystem, and provides fusion of two-dimensional layers and three-dimensional layers for multiple applications. The media library supports playback and recording of multiple commonly used audio, video formats, and static image files. The media library can support multiple audio and video encoding formats, such as JPG, PNG, and the like. The three-dimensional graphics processing library is used to implement three-dimensional graphics drawing, image rendering, synthesis, and layer processing. The recognition algorithm module can be used for sign language recognition, voice recognition, and text semantic recognition. Among them, sign language recognition refers to recognizing voice or text into sign language, voice recognition refers to recognizing sign language or text into voice, and text semantic recognition refers to recognizing sign language or voice into text.
[0104] The HAL layer is a packaging of the Linux kernel driver, which provides an interface upward and shields the implementation details of the low-level hardware.
[0105] As an example, the HAL layer can include a sensor HAL, an audio HAL, a screen HAL, a touch pad (TP) HAL, and an embedded multi mMedia card (eMMC) HAL, and the like.
[0106] The kernel layer is a layer between hardware and software. The kernel layer is used to drive hardware to work. As an example, the kernel layer can include a sensor driver, an audio driver, a screen driver, a TP driver, an eMMC driver, and the like. Among them, the sensor driver is a driver corresponding to a sensor, the audio driver is a driver layer of a device (such as a speaker) related to audio, the screen driver is a driver corresponding to a screen, the TP driver is a driver corresponding to a TP, and the eMMC driver is a driver corresponding to an eMMC.
[0107] In an embodiment of the present application, the audio driver can include a driver corresponding to a speaker, a driver corresponding to a receiver, and a driver corresponding to a microphone.
[0108] In an embodiment of the present application, the terminal device can include a main core and an auxiliary core, and the kernel layer can be deployed in both the main core and the auxiliary core. The hardware driver in the kernel layer of the main core and the hardware driver in the kernel layer of the auxiliary core can be the same or different. For example, the kernel layer of the main core and the kernel layer of the auxiliary core can both include a sensor driver, an audio driver, a screen driver, and a TP driver. The kernel layer of the main core can include an eMMC driver, and the kernel layer of the auxiliary core can not include the eMMC driver.
[0109] In an embodiment of the present application, the kernel layer can also be referred to as a kernel.
[0110] It can be understood that the software structure of the terminal device in the embodiment shown in FIG. 2 is only a simple example and does not limit the scope of the present application.
[0111] In the field of terminals, when a component of a terminal device starts or wakes up, an initialization operation needs to be performed first. In some scenarios, for example, when the system of the terminal device starts or the system standby wakes up, the screen of the terminal device needs to be initialized before the screen is turned on.
[0112] Currently, a method for turning on the screen of a terminal device can be as shown in FIG. 3.
[0113] In S301, the screen driver in the kernel of the terminal device receives a screen start or wake-up instruction.
[0114] In the method, when the system of the terminal device starts or the system standby wakes up, the kernel of the terminal device can receive a screen start or wake-up instruction. Optionally, the screen start or wake-up instruction can be received by the screen driver in the kernel of the terminal device.
[0115] As an example, when the terminal device is in a shutdown state, after a user clicks a power-on button, the screen driver in the kernel of the terminal device can receive a screen start or wake-up instruction.
[0116] As another example, when the terminal device is in a screen-off state, after the user clicks a key, a screen, or other screen-on indication, or after the terminal device receives information sent by another terminal device, the screen driver in the kernel of the terminal device can receive a screen start or wake-up instruction.
[0117] S302, the kernel of the terminal device transmits the screen start or wake-up instruction to the application layer / service layer of the terminal device. Correspondingly, the application layer / service layer receives the screen start or wake-up instruction.
[0118] S303, the application layer / service layer issues a screen-on request to the screen driver in the kernel of the terminal device. Correspondingly, the screen driver in the kernel of the terminal device receives the screen-on request.
[0119] S304, the screen driver controls the screen to perform an initialization operation.
[0120] In this method, controlling the screen to perform an initialization operation can include controlling the screen to power on, issuing an initialization sequence, controlling screen-on, and configuring a register switch state, etc.
[0121] S305, after the screen driver controls the screen to perform an initialization operation, the screen driver transmits an initialization completion indication to the application layer / service layer of the terminal device.
[0122] S306, the application layer / service layer of the terminal device performs drawing and rendering to obtain picture display data.
[0123] S307, the application layer / service layer of the terminal device transmits the picture display data to the screen driver. Correspondingly, the screen driver receives the picture display data.
[0124] S308, the screen driver controls the screen to display the picture display data.
[0125] Optionally, in another method, when the system of the terminal device is started or the system is in standby wake-up, all components in the terminal device can need to be pre-initialized first, and then the screen of the terminal device is turned on.
[0126] In this case, the method for turning on the screen of the terminal device can be as shown in FIG. 4.
[0127] S401, the screen driver in the kernel of the terminal device receives a screen start or wake-up instruction.
[0128] S402, the kernel of the terminal device transmits the screen start or wake-up instruction to the application layer / service layer of the terminal device. Correspondingly, the application layer / service layer receives the screen start or wake-up instruction.
[0129] S403, the application layer / service layer respectively issues an initialization request to each driver. Correspondingly, each driver in the terminal device kernel receives the initialization request.
[0130] Suppose the components of the terminal device include eMMC, a screen, a TP, and an audio device, the application layer / service layer can respectively issue an initialization request to the eMMC driver, the screen driver, the TP driver, and the audio driver.
[0131] S404, each driver respectively controls the corresponding component to perform an initialization operation.
[0132] The eMMC driver can control the eMMC to perform an initialization operation, the screen driver can control the screen to perform an initialization operation, the TP driver can control the TP to perform an initialization operation, and the audio driver can control the audio device to perform an initialization operation.
[0133] Optionally, the eMMC initialization operation, the screen initialization operation, the TP initialization operation, and the audio device initialization operation can be performed in parallel or in series.
[0134] S405, after the component corresponding to each driver in the kernel of the terminal device completes the initialization operation, each driver transmits indication information of completion of initialization to the application layer / service layer of the terminal device.
[0135] S406, the application layer / service layer of the terminal device draws and renders to obtain picture display data.
[0136] S407, the application layer / service layer of the terminal device transmits the picture display data to the screen driver. Correspondingly, the screen driver receives the picture display data.
[0137] S408, the screen driver controls the screen to display the picture display data.
[0138] In the method, when the component initialization is performed in parallel, the total initialization time is equal to the maximum time length in each component initialization time length. When the component initialization is performed in series, the total initialization time is equal to the sum of each component initialization time length.
[0139] In use, it is found that the time required for starting the component or waking up the component based on the method shown in FIG. 3 or FIG. 4 is long, and the user experience is poor.
[0140] Therefore, the present application provides a processing method of a terminal device, which is used to solve the problem that the time required for starting or waking up the component of the terminal device in the prior art is long.
[0141] In the technical solution of the present application, when the component of the terminal device is started or woken up, the kernel of the terminal device can transmit the indication information of the initialization completion to the application layer / service layer of the terminal device before the initialization of the component is completed, so that the total time length of the initialization operation and the data acquisition of the application layer / service layer can be saved, the time length of the component startup and wake-up can be shortened, and the user experience can be improved.
[0142] Next, the present application will be described in detail in combination with FIGS. 5 to 15.
[0143] FIG. 5 is a flowchart of a processing method of a terminal device provided in an embodiment of the present application. The method can be applied to the terminal device shown in FIG. 1. Specifically, the method can be executed by the terminal device, or can be executed by a component (such as a chip, a chip system, etc.) applied to the terminal device, or can also be implemented by a logic module or software capable of realizing all or part of the functions of the terminal device, for example, can be implemented by an application or a service in the operating system of the terminal device, and the present application does not limit this.
[0144] As an example, the method can be implemented by a driver of the terminal device, the driver can be used to drive the component in the terminal device, and the driver can be deployed in the terminal device.
[0145] Optionally, the driver can include one or more of the drivers of the terminal device shown in FIG. 2.
[0146] Optionally, in some embodiments, the driver of the terminal device can also be deployed independently of the terminal device. Subsequently, the present application will be described by taking the driver deployed in the terminal device as an example.
[0147] S501, the first driver receives a first instruction, and the first instruction is used to request to start or wake up the first component.
[0148] In the method, the first component can be a peripheral component of the terminal device. As an example, the first component can include a screen, an audio device, a TP, an eMMC, etc.
[0149] In the method, the first driver can be used to drive the first component, and the first driver can be deployed in the terminal device.
[0150] When the first component is a screen, the first driver can be a screen driver. In one example, when the terminal device is in a power-off state, after a user clicks a power-on button, the screen driver in the terminal device can receive a first instruction for requesting to start or wake up the screen. In another example, when the terminal device is in a screen-off state, after a user clicks a button, a screen, or other screen-on indication, or after the terminal device receives information sent by another terminal device, the screen driver in the terminal device can receive a first instruction for requesting to start or wake up the screen.
[0151] When the first component is an audio device, the first driver can be an audio driver. In one example, when a user clicks a play audio button, the audio driver in the terminal device can receive a first instruction for requesting to start or wake up the audio device.
[0152] When the first component is a TP, the first driver can be a TP driver. In one example, after a user clicks a touch screen, the TP driver in the terminal device can receive a first instruction for requesting to start or wake up the touch screen.
[0153] When the first component is an eMMC, the first driver can be an eMMC driver. In one example, when data in the terminal device needs to be stored or transmitted, the eMMC driver in the terminal device can receive a first instruction for requesting to start or wake up the eMMC.
[0154] S502, the first driver controls the first component to perform an initialization operation.
[0155] In some embodiments, the terminal device can include a main core and an auxiliary core, the first driver can be deployed in the main core of the terminal device, and the auxiliary core can include a second driver, which can also be used to drive the first component.
[0156] In this embodiment, when the first driver controls the first component to perform an initialization operation, the first driver can also control the first component to perform an initialization operation through the second driver.
[0157] Optionally, the method in which the first driver controls the first component to perform an initialization operation through the second driver can include: the first driver transmits second indication information to the second driver, the second indication information indicating that the second driver controls the first component to perform an initialization operation. Correspondingly, after the second driver receives the second indication information, the second driver can control the first component to perform an initialization operation.
[0158] In this method, the process in which the second driver controls the first component to perform an initialization operation can refer to the process in which the screen driver controls the screen to perform an initialization operation shown in FIG. 3, and details are not described herein again.
[0159] In the method, the first component is controlled to perform the initialization operation by the auxiliary core, that is, the main core is not used to control the first component to perform the initialization operation, the computing power requirement of the main core is reduced, the load of the main core is reduced, and system performance is improved.
[0160] In a first possible implementation, the method in which the first driver transmits the second indication information to the second driver can include: the first driver transmitting the second indication information to the second driver through an application layer or a service layer in the terminal device.
[0161] For example, after the first driver receives the first instruction, the first driver can report the first instruction to the application layer or the service layer. After the application layer or the service layer receives the first instruction, the application layer or the service layer can transmit indication information that the first component needs to perform an initialization operation to the first driver. After the first driver receives the indication information, the first driver can transmit the second indication information to the second driver.
[0162] In this implementation, the step of determining whether the first component needs to perform an initialization operation can be performed by the application layer or the service layer, which further reduces the computing power requirement of the main core, reduces the load of the main core, and improves system performance.
[0163] In a second possible implementation, after the first driver receives the first instruction, the first driver can determine that the first component needs to perform an initialization operation, and then transmit the second indication information to the second driver.
[0164] In this implementation, the first driver does not need to interact with the application layer or the service layer, the time length for controlling the first component to perform the initialization operation can be shortened, and the time length for starting or waking up the first component can be shortened.
[0165] Optionally, in some embodiments, before the first driver in the terminal device controls the first component to perform an initialization operation, the initialization operation of the component can be classified based on a preset classification method to obtain a classification result, and then it is determined whether the first component is controlled to perform the initialization operation by the auxiliary core based on the classification result.
[0166] The classification result includes an initialization operation that can be executed asynchronously and an initialization operation that can only be executed synchronously.
[0167] The initialization operation that can be executed asynchronously can be understood as an initialization operation that can be controlled by a driver in the auxiliary core to be executed by the first component. The initialization operation that can only be executed synchronously can be understood as an initialization operation that can only be controlled by a driver in the main core to be executed by the first component.
[0168] Optionally, the preset classification method can be determined based on the drivers deployed in the main core and the auxiliary core.
[0169] As an example, as shown in FIG. 6, assuming that the eMMC driver, the screen driver, the TP driver and the audio driver can be contained in the main core, and assuming that the screen driver, the TP driver and the audio driver can be contained in the auxiliary core, the screen initialization operation, the TP initialization operation and the audio initialization operation are initialization operations that can be executed asynchronously, and the eMMC initialization operation is an initialization operation that can only be executed synchronously.
[0170] In this example, assuming that the first instruction is used to request to start or wake up the screen, the screen driver in the main core can control the screen to execute the initialization operation through the screen driver in the auxiliary core. In this case, the screen driver in the main core can be a first driver, and the screen driver in the auxiliary core can be a second driver.
[0171] Assuming that the first instruction is used to request to start or wake up the TP, the TP driver in the main core can control the TP to execute the initialization operation through the TP driver in the auxiliary core. In this case, the TP driver in the main core can be a first driver, and the TP driver in the auxiliary core can be a second driver.
[0172] Assuming that the first instruction is used to request to start or wake up the audio device, the audio driver in the main core can control the audio device to execute the initialization operation through the audio driver in the auxiliary core. In this case, the audio driver in the main core can be a first driver, and the audio driver in the auxiliary core can be a second driver.
[0173] Assuming that the first instruction is used to request to start or wake up the eMMC, the eMMC driver in the main core controls the audio device to execute the initialization operation.
[0174] Optionally, in some embodiments, the preset classification method can be input in advance by a user.
[0175] S503, the first driver transmits first indication information before the initialization operation of the first component is completed, and the first indication information indicates that the initialization operation of the first component is completed.
[0176] In this method, the first driver can transmit the first indication information to an application layer or a service layer in the terminal device. Correspondingly, after the application layer or the service layer in the terminal device receives the first indication information, the application layer or the service layer can obtain data based on the first indication information, and transmit the obtained data to the first driver, and then the first driver can control the first component to output the data.
[0177] As an example, taking a screen as the first component, the screen driver in the main core can transmit first indication information to the application layer or the service layer in the terminal device before the screen initialization operation is completed, where the first indication information indicates that the screen initialization operation is completed. Correspondingly, after receiving the first indication information, the application layer or the service layer in the terminal device can perform drawing and rendering based on the first indication information to obtain picture display data, and transmit the obtained picture display data to the screen driver in the main core, and then the screen driver in the main core can control the screen to output the picture display data.
[0178] In the method, the first driver can transmit the first indication information without waiting for the completion of the initialization operation of the first component, compared with the prior art in which the first driver transmits the first indication information after the completion of the initialization operation of the first component, the total time length of the initialization of the first component and the acquisition of data can be shortened, which is beneficial to shorten the time length of the startup and wake-up of the first component.
[0179] Optionally, when the first driver can control the first component to perform the initialization operation through the second driver, the first driver transmitting the first indication information to the application layer or the service layer in the terminal device can include: after the first driver transmits the second indication information to the second driver, the first driver transmits the first indication information to the application layer or the service layer.
[0180] The time interval between the transmission time of the second indication information and the transmission time of the first indication information can be less than or equal to a preset time length.
[0181] The preset time length can be a relatively short time length. As an example, the preset time length can be 1 millisecond (ms).
[0182] In the method, the preset time length can be much smaller than the time length of the initialization operation of the first component, and the total time length of the initialization of the first component and the acquisition of data can be further shortened, which is beneficial to shorten the time length of the startup and wake-up of the first component.
[0183] In the technical solution of the present application, after the first driver transmits the first indication information, the first driver can further receive the first data and acquire third indication information from the second driver, where the third indication information indicates that the initialization operation of the first component is confirmed to be completed, and then the first driver controls the first component to output the first data based on the reception time of the third indication information and the reception time of the first data.
[0184] Optionally, the first data can be data generated by the application layer or the service layer in the terminal device after receiving the first indication information.
[0185] As an example, taking a screen as the first component, the first data can be picture display data obtained after the application layer or the service layer in the terminal device performs drawing, rendering and other operations after receiving the first indication information.
[0186] In an example, when the receiving time of the third indication information is earlier than the receiving time of the first data, the first driving controls the first component to output the first data, which can include that after the first driving receives the first data, the first component can be controlled to output the first data.
[0187] In this example, the receiving time of the third indication information is earlier than the receiving time of the first data, that is, the time length required for the initialization operation of the first component is less than the time length for the first driving to obtain the first data from the application layer or the service layer of the terminal device. In this case, after the first driving receives the first data, the first component can be normally controlled to output the first data.
[0188] In a possible implementation, assuming that the first driving transmits the second indication information to the second driving through the application layer or the service layer in the terminal device, the starting or waking time length of the first component can be as shown in FIG. 7.
[0189] In this example, the starting or waking time length of the first component can include the waking time length of the application layer or the service layer and the time length for the application layer or the service layer to obtain the first data.
[0190] In this example, the time length for the application layer or the service layer to obtain the first data can include the time length for the first component to perform the initialization operation. Alternatively, the time for the second driving to control the first component to perform the initialization operation is within the time for the first driving to obtain the first data from the application layer or the service layer.
[0191] In this example, the time length for the application layer or the service layer to obtain the first data can include the time length for the first component to perform the initialization operation. Alternatively, the time for the second driving to control the first component to perform the initialization operation is within the time for the first driving to obtain the first data from the application layer or the service layer.
[0192] In another possible implementation, assuming that the first driving directly transmits the second indication information to the second driving, the starting or waking time length of the first component can be as shown in FIG. 8.
[0193] In this example, the starting or waking time length of the first component can not include the waking time length of the application layer or the service layer, or the starting or waking time length of the first component can include the time length for the application layer or the service layer to obtain the first data.
[0194] In this example, the time length for the application layer or the service layer to obtain the first data can include the time length for the first component to perform the initialization operation. Alternatively, the time for the second driving to control the first component to perform the initialization operation is within the time for the first driving to obtain the first data from the application layer or the service layer. In this example, the time length for the application layer or the service layer to obtain the first data can include the time length for the first component to perform the initialization operation. Alternatively, the time for the second driving to control the first component to perform the initialization operation is within the time for the first driving to obtain the first data from the application layer or the service layer.
[0195] The time length for the application layer or the service layer to obtain the data can include a time length required from the first driver transmitting the first indication information to the application layer or the service layer to the first driver receiving the first data from the application layer or the service layer.
[0196] In another example, when the receiving time of the third indication information is later than the receiving time of the first data, the first driver controlling the first component to output the first data can include: after the first driver receiving the first data, storing all or part of the data in the first data; after the first driver receiving the third indication information, controlling the first component to output all or part of the data in the first data.
[0197] This example can be applied to the case where the data output by the first component is fixed data. Or in other words, the case where the data output by the first component does not change over time.
[0198] In this example, the receiving time of the third indication information is later than the receiving time of the first data, that is, the time length required for the initialization operation of the first component is greater than the time length for the first driver to obtain the first data from the application layer or the service layer of the terminal device.
[0199] In this case, when the first driver receives the first data, the initialization operation of the first component has not been completed, at this time the first component is controlled by the second driver in the auxiliary core, and the first driver can store all or part of the data in the first data. After the initialization operation of the first component is completed, the second driver in the auxiliary core can no longer control the first component, and at this time the first driver can control the first component to output all or part of the data in the first data.
[0200] In a possible implementation, assuming that the first driver transmits the second indication information to the second driver through the application layer or the service layer in the terminal device, the starting or waking up time length of the first component can be as shown in FIG. 9.
[0201] In this example, the starting or waking up time length of the first component can include the waking up time length of the application layer or the service layer and the time length for the first component to perform the initialization operation.
[0202] In this example, the time length for the first component to perform the initialization operation can include the time length for the application layer or the service layer to obtain the first data. Or in other words, the time for the first driver to obtain the first data from the application layer or the service layer is within the time for the second driver to control the first component to perform the initialization operation.
[0203] The wake-up time length of the application layer or the service layer can include a time length required for the first driver to transmit the first instruction to the application layer or the service layer and a time length required for the application layer or the service layer to transmit the second instruction information to the first driver. The time length for the first component to perform the initialization operation can include a time length required between the transmission of the second instruction information from the first driver to the second driver and the transmission of the third instruction information from the second driver to the first driver.
[0204] In another possible implementation, assuming that the first driver directly transmits the second instruction information to the second driver, the starting or wake-up time length of the first component can be as shown in FIG. 10.
[0205] In this example, the starting or wake-up time length of the first component can not include the wake-up time length of the application layer or the service layer, or in other words, the starting or wake-up time length of the first component can include the time length for the first component to perform the initialization operation.
[0206] In this example, the time length for the first component to perform the initialization operation can include a time length for the application layer or the service layer to obtain the first data. In other words, the time for the first driver to obtain the first data from the application layer or the service layer is within the time for the second driver to control the first component to perform the initialization operation.
[0207] The time length for the first component to perform the initialization operation can include a time length required between the transmission of the second instruction information from the first driver to the second driver and the transmission of the third instruction information from the second driver to the first driver.
[0208] In yet another example, when the receiving time of the third instruction information is later than the receiving time of the first data, the first driver can further delete the first data after receiving the first data; after the first driver receives the third instruction information, if the first driver receives second data, the first driver controls the first component to output the second data.
[0209] This example can be applicable to a case where the data output by the first component is dynamic data. In other words, the data output by the first component changes in real time within a period of time.
[0210] In this example, when the first driver receives the first data, the initialization operation of the first component has not been completed, and at this time, the first component is controlled by the second driver in the auxiliary core. After the initialization operation of the first component is completed, the second driver in the auxiliary core can no longer control the first component, and after the initialization operation of the first component is completed, the data to be displayed by the terminal device changes, so the first data can be deleted, and after the first driver receives the second data, the first component is controlled to output the second data.
[0211] In this example, the first data can be data that is not to be output, and by deleting the first data, useless data can be avoided from occupying storage space, which is conducive to improving the utilization rate of the storage space.
[0212] In a possible implementation, assuming that the first drive transmits the second indication information to the second drive through an application layer or a service layer in the terminal device, the starting or waking up duration of the first component can be as shown in FIG. 11.
[0213] In this example, the starting or waking up duration of the first component can include the waking up duration of the application layer or the service layer, the duration for the first component to perform the initialization operation, and the duration from completion of the initialization operation of the first component to reception of the second data by the first drive.
[0214] In this example, the duration for the first component to perform the initialization operation can include the duration for the application layer or the service layer to obtain the first data. Alternatively, the time for the first drive to obtain the first data from the application layer or the service layer is within the time for the second drive to control the first component to perform the initialization operation.
[0215] In this example, the duration for the first component to perform the initialization operation can include the duration for the first drive to transmit the second indication information to the second drive and the duration required for the second drive to transmit the third indication information to the first drive.
[0216] In another possible implementation, assuming that the first drive directly transmits the second indication information to the second drive, the starting or waking up duration of the first component can be as shown in FIG. 12.
[0217] In this example, the starting or waking up duration of the first component can not include the waking up duration of the application layer or the service layer, or the starting or waking up duration of the first component can include the duration for the first component to perform the initialization operation and the duration from completion of the initialization operation of the first component to reception of the second data by the first drive.
[0218] In this example, the duration for the first component to perform the initialization operation can include the duration for the application layer or the service layer to obtain the first data. Alternatively, the time for the first drive to obtain the first data from the application layer or the service layer is within the time for the second drive to control the first component to perform the initialization operation.
[0219] In this example, the duration for the first component to perform the initialization operation can include the duration for the first drive to transmit the second indication information to the second drive and the duration required for the second drive to transmit the third indication information to the first drive.
[0220] In the method, the first driver can control the first component to output the first data based on the receiving moment of the third indication information and the receiving moment of the first data, so as to ensure the normal control logic of the first component, and avoid the problem that the first component cannot normally output data due to logic confusion when the first driver and the second driver simultaneously control the first component.
[0221] Next, the application will take the first component as a screen, the first driver as a screen driver in a primary core, and the second driver as a screen driver in an auxiliary core as an example to further introduce the processing method of the terminal device.
[0222] FIG. 13 is a flow diagram of a processing method of a terminal device according to an embodiment of the application.
[0223] In the method, the screen driver in the primary core can be referred to as a primary screen driver, and the screen driver in the auxiliary core can be referred to as an auxiliary screen driver.
[0224] S1301, the primary screen driver receives a first instruction, and the first instruction is used to request to start or wake up the screen.
[0225] S1302, the primary screen driver transmits the first instruction to an application layer or a service layer. Correspondingly, the application layer or the service layer receives the first instruction.
[0226] S1303, the application layer or the service layer transmits indication information that the screen needs to perform an initialization operation to the primary screen driver. Correspondingly, the primary screen driver receives the indication information.
[0227] S1304, the primary screen driver transmits second indication information to the auxiliary screen driver, and the second indication information indicates that the auxiliary screen driver controls the screen to perform the initialization operation. Correspondingly, the auxiliary screen driver receives the second indication information.
[0228] S1305, the auxiliary screen driver controls the screen to perform the initialization operation.
[0229] S1306, before the completion of the initialization operation of the screen, the primary screen driver transmits first indication information to the application layer or the service layer, and the first indication information indicates the completion of the initialization operation of the screen. Correspondingly, the application layer or the service layer receives the first indication information.
[0230] Optionally, after the primary screen driver transmits the second indication information to the auxiliary screen driver, the primary screen driver can transmit the first indication information to the application layer or the service layer.
[0231] The time interval between the transmission moment of the second indication information and the transmission moment of the first indication information is less than or equal to a preset time length.
[0232] S1307, the application layer or the service layer performs drawing and rendering to obtain picture display data.
[0233] S1308, the application layer or the service layer transmits the picture display data to the main screen driver. Correspondingly, the main screen driver receives the picture display data.
[0234] S1309, after the initialization operation of the screen is completed, the auxiliary screen driver transmits third indication information to the main screen driver, and the third indication information indicates that the initialization operation of the screen is confirmed to be completed. Correspondingly, the main screen driver receives the third indication information.
[0235] S1310, the main screen driver controls the screen to output the picture display data based on the receiving time of the third indication information and the receiving time of the picture display data.
[0236] In the method, the main screen driver controls the screen to output the picture display data based on the receiving time of the third indication information and the receiving time of the picture display data. The method can refer to the method that the first driver controls the first component to output the first data based on the receiving time of the third indication information and the receiving time of the first data in the foregoing embodiments, and details are not described herein.
[0237] Optionally, in some possible implementation manners, the method can not include S1302 and S1303.
[0238] Optionally, in some possible implementation manners, S1306 can be performed before S1305, or S1306 and S1305 can be performed simultaneously. For example, the main screen driver can perform S1306 immediately after performing S1304.
[0239] Optionally, in some possible implementation manners, S1309 can be located before S1307 and S1308, or S1309 can be located between S1307 and S1308.
[0240] FIG. 14 is a structural schematic diagram of a processing apparatus of a terminal device provided in an embodiment of the present application. As shown in FIG. 14, the processing apparatus 1400 of the terminal device can include a transmission module 1401 and a processing module 1402.
[0241] As an example, the processing apparatus 1400 of the terminal device can be used to implement the processing method of the terminal device in the embodiment shown in FIG. 5. Specifically, the transmission module 1401 can be used to perform S501 and S503, and the processing module 1402 can be used to perform S502.
[0242] In this example, the processing apparatus 1400 of the terminal device can be a first driver. Optionally, the first driver can be applied to the terminal device, or can be applied to a chip in the terminal device.
[0243] As another example, the processing device 1400 of the terminal device can also be configured to implement the processing method of the terminal device in the embodiment shown in FIG. 13. In this embodiment, the transmission module 1401 can be configured to perform S1301, S1302, S1303, S1304, S1306, S1308 and S1309, and the processing module 1402 can be configured to perform S1310.
[0244] In this embodiment, the processing device 1400 of the terminal device can be a home screen driver. Optionally, the home screen driver can be applied to the terminal device or a chip in the terminal device.
[0245] FIG. 15 is a structural diagram of a processing device of a terminal device according to another embodiment of the present application. As shown in FIG. 15, the processing device 1500 of the terminal device includes a processor 1501 and an interface circuit 1502. The processor 1501 and the interface circuit 1502 are coupled to each other. It can be understood that the interface circuit 1502 can be a transceiver or an input / output interface. Optionally, the processing device 1500 of the terminal device can further include a memory 1503 for storing instructions executed by the processor 1501 or storing input data required for the processor 1501 to execute instructions or storing data generated after the processor 1501 executes instructions.
[0246] As a first example, the processor 1501 can be configured to implement the functions of the processing module 1402, and the interface circuit 1502 can be configured to implement the functions of the transmission module 1401.
[0247] In this embodiment, the processing device 1500 of the terminal device can be a terminal device, or a chip or a chip system applied to the terminal device.
[0248] The method steps in the embodiments of the present application can be implemented by hardware, or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in a memory or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a network device or a terminal. Of course, the processor and the storage medium can also exist as discrete components in the network device or the terminal.
[0249] In this application, the memory can include cache, random access memory (RAM), flash memory, read-only memory (ROM), synchronous dynamic random access memory (SDRAM), programmable read-only memory, erasable programmable ROM (EPROM), electrically erasable programmable ROM, register, hard disk drive (HDD), or solid-state drive (SSD), mobile hard disk, or compact disc read-only memory (CD-ROM) and the like. The memory is any other medium capable of storing desired program codes in the form of instructions or data structures and capable of being accessed by the computer, but is not limited thereto. The memory in the embodiments of the present application can also be a circuit or any other device capable of realizing a storage function, used for storing computer programs or instructions, and / or data.
[0250] In this application, the processor can be one or more central processing units (CPUs). In the case of a CPU, the CPU can be a single core CPU, or a multi-core CPU. The processor can be a general purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a graphics processing unit (GPU), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or a combination of these. The general purpose processor can be a microprocessor or any conventional processor, etc.
[0251] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer programs or instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments are performed. The computer can be a general purpose computer, a special purpose computer, a computer network, a network device, a user equipment or other programmable apparatus. The computer programs or instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer programs or instructions can be transferred from one website site, computer, server or data center to another website site, computer, server or data center through wired or wireless manner. The computer readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center and the like integrated with one or more available media. The available media can be a magnetic medium, for example, a floppy disk, a hard disk, a magnetic tape; an optical medium, for example, a digital video disc; and a semiconductor medium, for example, a solid state disk.
[0252] The embodiments of the present application also provide a computer readable storage medium storing computer programs or instructions, which are executed by a computer (for example, a processor) to implement part or all of the steps of any method performed by any device in the embodiments of the present application.
[0253] The embodiments of the present application also provide a computer program product including computer programs or a set of instructions, which, when run on a computer, implement part or all of the steps of any method performed by any device in the embodiments of the present application.
[0254] In various embodiments of the present application, the terms and / or descriptions of different embodiments are consistent and can be referred to each other if there is no special description and logical conflict. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0255] It can be understood that the various numbers involved in the embodiments of the present application are only for the convenience of differentiation, and do not limit the scope of the embodiments of the present application. The size of the serial number of the above processes does not mean the order of execution, and the execution order of the processes should be determined according to their functions and inherent logic.
Claims
1. A processing method of a terminal device, characterized by, The method is applied to a first driver for driving a first component of the terminal device, and the method comprises: receiving a first instruction for requesting to start or wake up the first component; controlling the first component to perform an initialization operation; transmitting first indication information indicating that the initialization operation of the first component is completed before the initialization operation of the first component is completed.
2. The method of claim 1, wherein, The first driver is deployed in a main core of the terminal device, and the terminal device further comprises an auxiliary core comprising a second driver for driving the first component; The controlling the first component to perform an initialization operation comprises: The first driver transmits second indication information to the second driver, the second indication information indicating that the second driver controls the first component to perform an initialization operation.
3. The method of claim 2, wherein, The terminal device further comprises an application layer or a service layer; The transmitting first indication information comprises: After the first driver transmits the second indication information to the second driver, the first driver transmits the first indication information to the application layer or the service layer, and a time interval between a transmission time of the second indication information and a transmission time of the first indication information is less than or equal to a preset time length.
4. The method according to claim 2 or 3, characterized in that, The method further comprises: The first driver receives first data; The first driver receives third indication information from the second driver, the third indication information indicating that the initialization operation of the first component has been confirmed to be completed; The first driver controls the first component to output the first data based on a reception time of the third indication information and a reception time of the first data.
5. The method of claim 4, wherein, The reception time of the third indication information is earlier than the reception time of the first data; The controlling the first component to output the first data comprises: After the first driver receives the first data, the first driver controls the first component to output the first data.
6. The method of claim 4, wherein, The reception time of the third indication information is later than the reception time of the first data; The controlling the first component to output the first data comprises: After the first driver receives the first data, the first driver stores all or part of the data in the first data; After the first driver receives the third indication information, the first driver controls the first component to output all or part of the data in the first data; Alternatively, the method further comprises: After the first driver receives the first data, the first driver deletes the first data; After the first driver receives the third indication information, if the first driver receives second data, the first driver controls the first component to output the second data.
7. A processing device of a terminal device, characterized by, A function module for implementing the method of any one of claims 1 to 6.
8. A processing device of a terminal device, characterized by, A processor for causing the apparatus to perform the method of any one of claims 1 to 6 by executing computer programs or instructions stored in a memory and / or by a logic circuit.
9. The apparatus of claim 8, wherein, The processing apparatus of the terminal device further comprises a memory for storing the computer programs or instructions.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions that, when run on the display device of the terminal device, cause the method of any one of claims 1 to 6 to be implemented.
Citation Information
Patent Citations
Processing method of terminal equipment and related device
CN121092220A
Camera starting method and device, terminal equipment and storage medium
CN113032030A
Image processor starting method, electronic equipment and storage medium
CN113747043A
Processing method and electronic equipment
CN115514894A
Voice coil motor
KR102798153B1