Information transmission methods, electronic devices, and storage media
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2024-01-05
- Publication Date
- 2026-06-23
Smart Images

Figure 2026520461000001_ABST
Abstract
Claims
1. An image display method applicable to electronic devices: The RenderThread performs the step of drawing the image frame; The SurfaceFlinger process takes the step of acquiring the graphic data of the image frame; After acquiring the graphic data of the image frame, the SurfaceFlinger process performs synthesis on the graphic data of the image frame to obtain a composite image frame; The SurfaceFlinger process sends the composite image frame for display; After the graphic data of the image frame has been acquired, the SurfaceFlinger process is run to acquire window information; After obtaining the aforementioned window information, the SurfaceFlinger process is run to obtain buffer space release information; The first thread of the SurfaceFlinger process sends the window information to the first process; and A step in which a second thread of the SurfaceFlinger process sends the buffer space release information to the second process, wherein the second thread is different from the first thread; A method that includes this.
2. The method according to claim 1, wherein the first process is a SystemServer process.
3. In the method according to claim 2, the step of the first thread of the SurfaceFlinger process sending the window information to the first process is: The first thread of the SurfaceFlinger process sends the window information to the InputDispatcher thread of the SystemServer process; Methods that include...
4. In the method according to any one of claims 1 to 3, the first thread and the second thread are child threads of the SurfaceFlinger process; The SurfaceFlinger process takes the following steps to acquire the graphic data of the image frame: The main thread of the SurfaceFlinger process acquires the graphic data of the image frame; The step in which the SurfaceFlinger process performs synthesis on the graphic data of the image frame is: The main thread of the SurfaceFlinger process performs a composite operation on the graphic data of the image frame; The step of the SurfaceFlinger process sending the composite image frame for display includes: The main thread of the SurfaceFlinger process sends the composite image frame for display; The steps include: running the SurfaceFlinger process to obtain window information: Steps include: running the main thread of the SurfaceFlinger process to obtain window information; The steps include: running the SurfaceFlinger process to obtain buffer space release information: The step of running the main thread of the SurfaceFlinger process to obtain buffer space release information; Methods that include...
5. The method according to claim 4, further: The main thread of the SurfaceFlinger process generates the first thread and the second thread; A method that includes this.
6. A method according to any one of claims 1 to 5, wherein the second process is the process to which the RenderThread belongs.
7. In the method according to any one of claims 1 to 5, the step of operating the SurfaceFlinger process to obtain window information is: The step of running the updateInputFlinger process of the SurfaceFlinger to obtain window information; Methods that include...
8. The method according to claim 6, wherein the buffer space release information instructs the RenderThread to release the buffer space.
9. The method according to claim 8, further: The RenderThread releases the buffer space; A method that includes this.
10. An information transmission method applicable to electronic devices: Steps to detect touch events; After the aforementioned touch event is detected, the main thread of the SurfaceFlinger process is activated to obtain window information; After the window information has been obtained, the main thread of the SurfaceFlinger process is run to obtain buffer space release information; The first child thread of the SurfaceFlinger process sends the window information to the first process; and A step in which a second child thread of the SurfaceFlinger process sends the buffer space release information to a second process, wherein the second child thread is different from the first child thread; A method that includes this.
11. The method according to claim 10, wherein the first process is a SystemServer process.
12. In the method according to claim 11, the step of the first child thread of the SurfaceFlinger process sending the window information to the first process is: The first child thread sends the window information to the InputDispatcher thread of the SystemServer process; Methods that include...
13. The method according to any one of claims 10 to 12, further: The main thread of the SurfaceFlinger process generates the first child thread and the second child thread; A method that includes this.
14. A method according to any one of claims 10 to 13, wherein the second process is the process to which the RenderThread belongs.
15. In the method according to any one of claims 10 to 14, the step of running the main thread of the SurfaceFlinger process to obtain window information is: The step of running updateInputFlinger on the main thread of the SurfaceFlinger process to obtain window information; Methods that include...
16. The method according to claim 14, further: The RenderThread releases the buffer space; A method that includes this.
17. In the method according to claim 12, after the first child thread sends the window information to the InputDispatcher thread of the SystemServer process, the method: The InputDispatcher thread sends the touch event to the window corresponding to the touch event based on the window information; A method that includes this.
18. Method of transmitting information: The first step is for the main thread of a first process to create a first child thread and a second child thread, wherein the first child thread can be called by the main thread via a first function and cannot be called by the main thread via any function other than the first function, the second child thread can be called by the main thread via any function other than the first function, and one of the first and second functions is used to send window information to the second process and the other is used to instruct the second process to release buffer space; The main thread performs the first function to transfer the first target information to the first child thread; and The first child thread, after receiving the first target information transferred by the main thread, sends the first target information to the second process; A method that includes this.
19. In the method according to claim 18, the first function is used to send the window information to the second process, the first target information is target window information, and the main thread operates the first function to perform the following actions: Steps to obtain current window information; A step of determining the target window information based on the current window information, wherein the target window information is window information other than window information having a predetermined window type in the current window information; and If it is determined that the window has changed based on the current window information, the child thread is called based on the target window information, and the target window information is transferred to the first child thread; How to do it.
20. The method according to claim 19, wherein the predetermined window type includes one or more of the following: an invisible window type, or an input-disabled channel window type.
21. The method according to any one of claims 18 to 20, wherein the first function is used to send the window information to a second process, the first target information is the target window information, and the first child thread sends the first target information to the second process after receiving the first target information transferred by the master thread is: After receiving the target information transferred by the main thread, the first child thread determines the time interval between the time it received the target window information and the time it last sent the window information to the second process, and then sends the target window information to the second process based on the time interval; Methods that include...
22. The method according to claim 21, wherein the first child thread transmits the target window information to the second process based on the time interval: If the time interval is greater than or equal to a first duration, the first child thread sends the target window information to the second process, wherein the first duration is longer than the display frame time interval; or If the aforementioned time interval is less than the first duration, and no further window information has been received within the first duration after the target window information has been received, the first child thread sends the target window information to the second process; Methods that include...
23. The method according to any one of claims 18 to 20, wherein the first function is used to send the window information to a second process, the first target information is the target window information, and the first child thread sends the first target information to the second process after receiving the first target information transferred by the master thread is: A method comprising the steps of: if window information exists in the task queue after receiving the target information transferred by the main thread, the first child thread discards the window information in the task queue and sends the target window information to the second process; or, if window information does not exist in the task queue, the first child thread determines a time interval between the time the target window information was received and the time the window information was last sent to the second process, and sends the target window information to the second process based on the time interval, wherein the window information in the task queue is window information received by the first child thread and not sent to the second process.
24. The method according to claim 23, the step of the first child thread sending the target window information to the second process based on the time interval is: If the time interval is greater than or equal to a first duration, the first child thread sends the target window information to the second process, wherein the first duration is longer than the display frame time interval; or If the time interval is less than the first duration, the first child thread stores the target window information in the task queue, and if it has not received the next window information within the first duration after receiving the target window information, it sends the target window information in the task queue to the second process; Methods that include...
25. A method according to claim 22 or 24, wherein the first duration is no more than twice the frame time interval.
26. The method according to any one of claims 18 to 20, further: Steps include: when the first message is received, the main thread sets the target variable to the first variable value, wherein the first message indicates the start of the application's startup animation or shutdown animation; or Steps include: when a second message is received, the main thread sets the target variable to the second variable value, wherein the second message indicates the end of the startup animation or the shutdown animation; and The first function is used to send the window information to a second process, the first target information being the target window information, and the first child thread, after receiving the first target information transferred by the master thread, sends the first target information to the second process: After receiving the target information transferred by the main thread, if the first child thread determines that the target variable is the value of the second variable, it sends the target window information to the second process; or, if the first child thread determines that the target variable is the value of the first variable, it determines the time interval between the time the target window information was received and the time the window information was last sent to the second process, and sends the target window information to the second process based on the time interval; Methods that include...
27. In the method according to claim 26, the step of the main thread setting the target variable to the first variable value when it receives a first message is: If the first message is received and the display refresh rate is determined to be equal to or greater than a predetermined refresh rate, the main thread sets the target variable to the first variable value; Methods that include...
28. The method according to claim 26 or 27, further: If the second message has not been received within the second duration after the target variable has been set to the first variable value, the main thread may set the target variable to the second variable value; A method that includes this.
29. In the method according to any one of claims 18 to 28, the step of the first child thread sending the first target information to the second process is: The first child thread sends the first target information to the second process by using a binder driver; Methods that include...
30. A method according to any one of claims 18 to 29, wherein the first process is a SurfaceFlinger process, one of the first function and the second function is an updateInputFlinger function and the other is a ReleaseBuffer function, the updateInputFlinger function is used to send window information to the InputDispatcher thread of the SystemServer process.
31. Method of transmitting information: The step is for the main thread of the SurfaceFlinger process to create a third child thread, which can be called by the main thread via the updateInputFlinger function; The aforementioned main thread executes the updateInputFlinger function, performing the following actions: Determine the target window information based on the current window information; and Transferring the aforementioned target window information to the third child thread; A step of performing the following, wherein the target window information is window information other than window information having a predetermined window type in the current window information; and The third child thread, after receiving the target information transferred by the main thread, sends the target information to the second process; A method that includes this.
32. The method according to claim 31, the step of transferring the target window information to the third child thread is: If it is determined that the window has changed based on the current window information, the target window information is transferred to the third child thread; Methods that include...
33. The method according to claim 31 or 32, wherein the predetermined window type includes one or more of the following: an invisible window type, or an input-disabled channel window type.
34. An electronic device comprising a display, memory, and one or more processors, wherein the display and the memory are coupled to the processor, the memory stores computer program code, the computer program code includes computer instructions, and when the computer instructions are executed by the processor, the electronic device becomes capable of performing the method according to any one of claims 1 to 33.
35. A computer-readable storage medium containing computer instructions, wherein when the computer instructions are executed on an electronic device, the electronic device becomes capable of performing the method according to any one of claims 1 to 33.
36. A chip system including a processor, wherein the processor is configured to call a computer program in memory and perform the method according to any one of claims 1 to 33.