Vehicle-mounted application process management method and device, equipment and storage medium

By determining whether the in-vehicle application process is running in the foreground and pausing unnecessary processes to start tasks, the problem of long cold start time of the in-vehicle system is solved, and system efficiency and user experience are improved.

CN120704764APending Publication Date: 2025-09-26DONGFENG MOTOR CO LTD DONGFENG NISSAN PASSENGER VEHICLE CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510879882.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-27
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

During a cold start, the in-vehicle application process starts a large number of processes, causing the system startup time to be too long, occupying system resources, affecting user waiting time and system performance.

Method used

By responding to the target application's request for the process to be launched, it is determined whether the process page is running in the foreground. If it is not running in the foreground, the launch task of its child process is suspended to prevent unnecessary processes from occupying system resources.

Benefits of technology

It improves the operating efficiency of the vehicle system, reduces the overall hardware resource usage of the system, shortens the system startup time, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704764A_ABST
    Figure CN120704764A_ABST
Patent Text Reader

Abstract

The invention discloses a vehicle-mounted application process management method and device, equipment and a storage medium, and relates to the technical field of vehicle-mounted application management.The method comprises the steps that in response to a pull-up request of a to-be-pulled-up process depended by a target application, whether a process page of the to-be-pulled-up process runs in a foreground of the target application or not is determined; and when the process page of the to-be-pulled process does not run in the foreground of the target application, pausing a pull-up task of a sub-process of the to-be-pulled process. By managing the processes which are not required to be used by the user, the unnecessary processes are prevented from occupying system resources, the operation efficiency of the vehicle-mounted system is improved, the overall hardware resources of the system are reduced, and the diversified requirements of different vehicle-mounted applications on process management are met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of vehicle-mounted application management, and in particular to a method, apparatus, device, and storage medium for vehicle-mounted application process management. Background Art

[0002] In the automotive cockpit, the dependencies and communication requirements between applications are much higher than those in the mobile phone field. For example, global voice control, multimedia control, account binding and other requirements need to be implemented. There are many scenarios where applications bind to each other to establish communication. Therefore, even if only a few applications are launched during a cold start, a series of applications will eventually be launched, resulting in a longer cold start time for the system and longer waiting time for users. In addition, a large number of processes that are not needed by users are launched, occupying the overall hardware resources of the system and easily causing system memory overflow. Summary of the Invention

[0003] The main purpose of this application is to provide a method, device, equipment and storage medium for managing in-vehicle application processes, aiming to solve the technical problem that the system startup time is long when the current in-vehicle application process is launched, resulting in a long waiting time for users.

[0004] To achieve the above objectives, the present application proposes a method for managing an in-vehicle application process, which includes:

[0005] In response to a request to launch a process to be launched that a target application depends on, determining whether a process page of the process to be launched is running in the foreground of the target application;

[0006] When the process page of the process to be launched is not running in the foreground of the target application, the launching task of the sub-process of the process to be launched is suspended.

[0007] In one embodiment, the step of determining whether the process page of the process to be launched is running in the foreground of the target application includes:

[0008] Obtaining a first process dependency of the target application;

[0009] Determining the to-be-launched process of the target application according to the first process dependency relationship;

[0010] Obtain the view page type of the process to be launched;

[0011] Based on the view page type, it is determined whether the process page of the process to be launched is running in the foreground of the target application.

[0012] In one embodiment, the step of determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type includes:

[0013] When the view page type is a complete page type, the page change information of the front-end and back-end is obtained through a preset native function;

[0014] Obtaining the currently displayed page and the paused historically displayed page according to the page change information;

[0015] Determining to enter a backend page according to the current display page and the historical display page;

[0016] When the process page of the process to be launched does not exist in the background page entered, determining that the process page of the process to be launched is running in the foreground;

[0017] When the process page of the process to be launched exists in the background page entered, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

[0018] In one embodiment, the step of determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type includes:

[0019] When the view page type is a system pop-up window type, obtaining pop-up window display information and pop-up window hiding information;

[0020] When the process to be launched exists in the pop-up window display information, determining that the process page of the process to be launched is running in the foreground;

[0021] When the process to be launched exists in the pop-up window hidden information, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

[0022] In one embodiment, when the process page of the process to be launched is not running in the foreground of the target application, the step of suspending the launching task of the sub-process of the process to be launched includes:

[0023] When the process page of the process to be launched is not running in the foreground of the target application, obtaining a second process dependency of the process to be launched;

[0024] Determine a subprocess of the process to be started according to the second process dependency relationship;

[0025] Start the process to be started, and suspend the task of starting the sub-process.

[0026] In one embodiment, after the step of launching the process to be launched and pausing the launching task of launching the sub-process, the method further includes:

[0027] Detect whether the process page of the process to be launched is switched to the foreground of the target application;

[0028] When the process page of the process to be launched is switched to the foreground of the target application, the launching task of the sub-process is executed to launch the sub-process.

[0029] In one embodiment, after the step of responding to a launch request of a process to be launched that the target application depends on, determining whether the process page of the process to be launched is running in the foreground of the target application, the method further includes:

[0030] When the process page of the process to be launched is running in the foreground of the target application, obtaining a second process dependency of the process to be launched;

[0031] Determine a subprocess of the process to be started according to the second process dependency relationship;

[0032] Start the process to be started and the sub-process.

[0033] In addition, to achieve the above-mentioned purpose, the present application also proposes an in-vehicle application process management device, which includes:

[0034] a response module, configured to respond to a request to launch a process to be launched that a target application depends on, and determine whether a process page of the process to be launched is running in the foreground of the target application;

[0035] The pausing module is used to suspend the launching task of the sub-process of the process to be launched when the process page of the process to be launched is not running in the foreground of the target application.

[0036] In addition, to achieve the above-mentioned purpose, the present application also proposes an in-vehicle application process management device, which includes: a memory, a processor, and a computer program stored on the memory and runnable on the processor, and the computer program is configured to implement the steps of the in-vehicle application process management method as described above.

[0037] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium. A computer program is stored on the storage medium, and when the computer program is executed by the processor, the steps of the vehicle-mounted application process management method described above are implemented.

[0038] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the vehicle-mounted application process management method as described above.

[0039] One or more technical solutions proposed in this application determine whether the process page of a target application's dependent process is running in the foreground in response to a request to launch the process to be launched. If the process page of the target application's dependent process is not running in the foreground, the task of launching the child process of the target application is suspended. By managing processes that are not needed by the user, unnecessary processes are prevented from occupying system resources, improving the operating efficiency of the in-vehicle system and reducing overall system hardware resources, thus meeting the diverse process management needs of different in-vehicle applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0041] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0042] Figure 1 Pull up a control scenario diagram for the current application process;

[0043] Figure 2 A flowchart of the first embodiment of the vehicle application process management method of the present application is provided;

[0044] Figure 3 A structural block diagram of an in-vehicle system provided in accordance with an embodiment of the in-vehicle application process management method of the present application;

[0045] Figure 4 A flowchart of the second embodiment of the vehicle application process management method of the present application is provided;

[0046] Figure 5 A schematic diagram showing a pop-up window event provided in an embodiment of the in-vehicle application process management method of the present application;

[0047] Figure 6 A schematic diagram of the startup process control provided in an embodiment of the vehicle-mounted application process management method of the present application;

[0048] Figure 7 A flowchart of the third embodiment of the vehicle application process management method of the present application is provided;

[0049] Figure 8 A brief flowchart of an embodiment of the vehicle application process management method of the present application is provided;

[0050] Figure 9This is a schematic diagram of the module structure of the vehicle application process management device according to an embodiment of the present application;

[0051] Figure 10 This is a schematic diagram of the device structure of the hardware operating environment involved in the vehicle application process management method in the embodiment of the present application.

[0052] The purpose, features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0053] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not intended to limit the present application.

[0054] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0055] The main solution of the embodiment of the present application is: in response to the launch request of the process to be launched that the target application depends on, determine whether the process page of the process to be launched is running in the foreground of the target application; when the process page of the process to be launched is not running in the foreground of the target application, suspend the launch task of the sub-process of the process to be launched.

[0056] Because existing technologies launch a small number of applications and then launch all the processes they depend on, launching the dependent processes also launches all the processes they further depend on. During a cold start, a large number of startup tasks are executed, resulting in a slow startup of the vehicle system. The unnecessary process launches strain system memory resources, and if not handled properly, the launched process resources cannot be released.

[0057] The corresponding linked scenes are as follows Figure 1 As shown, the target process to be pulled up is a, but the operation of a depends on the capabilities of b and c. b and c will be pulled up, and further, all the processes that b and c depend on will be pulled up.

[0058] This application provides a solution to control the process launching action through a universal base preset in the vehicle by the Original Equipment Manufacturer (OEM). When the process is not displayed in the foreground of the target application, the actions of binding other processes in the background process will not be executed. They will be executed after the process is launched to the foreground, thereby avoiding launching a large number of processes.

[0059] It should be noted that the execution subject of this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, mobile phone, etc., or an electronic device capable of implementing the above functions, or a controller in an in-vehicle application process management device, such as an in-vehicle controller. The following uses an in-vehicle controller as an example to illustrate this embodiment and the following embodiments.

[0060] Based on this, the embodiment of the present application provides a method for managing vehicle application processes, referring to Figure 2 , Figure 2 This is a flowchart of the first embodiment of the in-vehicle application process management method of the present application.

[0061] In this embodiment, the vehicle-mounted application process management method includes steps S10 to S20:

[0062] Step S10: In response to a request to launch a process to be launched that a target application depends on, determining whether a process page of the process to be launched is running in the foreground of the target application.

[0063] It's important to note that when a user triggers a launch request for an app in the vehicle's system, the system first receives the launch request. The system then uses information in the request, such as the app identifier (ID) or name, to determine the specific app the user wishes to launch. This allows it to accurately identify and respond to the user's launch request. The target application can be a task waiting to be launched, currently being launched, or already launched.

[0064] Imagine a user is driving and wants to launch an in-car music app to play a song. The user triggers a music app launch request through the car's touchscreen or voice assistant. After receiving this request, the system parses the information in the request and identifies the target app as the in-car music app.

[0065] like Figure 3 As shown, Figure 3 This is a structural block diagram of the vehicle-mounted system in this embodiment, which includes a foreground and background monitoring module, a service binding module, an OEM universal interface, and a task cache module. The foreground and background monitoring module is used to monitor the relevant information of the applications running in the foreground and background. The service binding module is used to bind the dependencies between the application processes and obtain the binding information. The OEM universal interface communicates with other modules to obtain the information transmitted by the other three modules, so as to control the process to be started, such as starting the process or pausing the start-up process, etc. The task cache module is used to cache the suspended process according to the OEM control operation, that is, to pause the operation.

[0066] In a specific implementation, the process to be launched is the process that the target application depends on. For example, if the target application is application a, and the processes it depends on are process b and process c, then the processes to be launched are process b and process c. After determining the target application, the processes that this application depends on can be further analyzed. These processes may include the main process of the application itself, sub-processes for handling specific functions, etc. The system needs to determine whether these process pages to be launched are already running in the foreground. If the process page is already running in the foreground, it means that the user may already be using the function corresponding to the process, and there is no need to launch it again; if the process page is not running in the foreground of the target application, the system needs to consider whether to suspend launching the sub-processes of the process to avoid unnecessary resource usage.

[0067] For example, if the target application is an in-car music application, the system analyzes the processes it relies on, including the main process for playing music and the sub-process for displaying lyrics. At this time, the system detects that the main process page is already running in the foreground (that is, the user is playing music), while the sub-process page for displaying lyrics is not yet running in the foreground.

[0068] In a specific implementation, determining whether the process page of the process to be launched is running in the foreground of the target application based on the target application can be obtained by monitoring changes in the foreground and background processes of the system. When the process page of the process to be launched is running in the foreground of the target application, it indicates that the process is relatively important to the user's current operation.

[0069] It is understandable that if the process page of the process to be launched is running in the foreground of the target application, it means that the process is more important to the user, so the corresponding sub-process needs to be launched. Then, after step S10, steps S11 to S13 are also included:

[0070] Step S11: when the process page of the process to be launched is running in the foreground of the target application, obtaining a second process dependency of the process to be launched;

[0071] It should be noted that if the process page of the process to be launched is running in the foreground of the target application, to ensure that the application operation meets user needs, the child processes of the process to be launched need to be launched at the same time. Therefore, the second process dependency relationship of the process to be launched can be obtained. For example, if the target application is a, and the processes to be launched for a are processes b and c, by obtaining the second process dependency relationship between processes b and c, it is found that process b has dependencies with processes d, e, and f, and process c has dependencies with processes g, h, and i. A process dependency relationship is the relationship between the process to be launched and other processes required by the process to be launched to complete the related tasks.

[0072] Step S12: determining a subprocess of the process to be launched according to the second process dependency relationship;

[0073] It is understood that the subprocesses of the process to be launched can be determined based on the determined second process dependency. For example, if the processes with a second process dependency relationship with process b are process d, process e, and process f, then the subprocesses are process d, process e, and process f. Dependent processes may include subprocesses and service processes used to implement specific functions. Assuming that the process to be launched is the main process of an in-vehicle navigation application, which may depend on a map data service process and a positioning service process, the subprocesses are the map data service process and the positioning service process.

[0074] Step S13: Start the process to be started and the sub-process.

[0075] After determining the process to be launched and its child processes, the launch operation can be performed through the OEM universal interface to load these processes into memory and start them. The launch operation can be implemented through system calls, inter-process communication, etc.

[0076] When launching processes, the system also considers the order in which they are launched and their dependencies to ensure they run correctly. For example, when launching an in-car navigation app, the system may first launch the main process of the navigation app, followed by the map data service process and the positioning service process.

[0077] Step S20: When the process page of the process to be launched is not running in the foreground of the target application, pausing the launching task of the sub-process of the process to be launched.

[0078] It should be noted that if it is detected that the process page to be launched is not running in the foreground of the target application, in order to improve the performance of the vehicle computer and reduce memory usage, the sub-process of the process can be paused, thereby avoiding launching processes that the user does not currently need to use, saving system resources and improving operating efficiency.

[0079] It should be noted that, in order to avoid the system operation failing to meet user needs due to long-term suspension of the pull-up task, a pause duration threshold or a pause and pull-up quantity threshold may be set, so that when the pause duration or the number of the pause and pull-up reaches the set threshold, the suspended task is executed. Therefore, after step S20, steps S21 to S22 are also included:

[0080] Step S21: when the number of the suspended pull-up tasks reaches a preset number, obtaining the process priority of the sub-process;

[0081] It should be noted that the preset number can be set according to demand and can also be adjusted according to the performance of the vehicle system. If it is detected that the performance of the current vehicle system has not declined, the preset number can be set to a smaller value. For example, the preset number is 5. When the number of paused pull-up tasks reaches 5, the process priority of the sub-process can be obtained. The process priority is the order in which each sub-process runs, and can be set according to the user's preference or the importance of the process.

[0082] Step S22: executing the task of starting the sub-process according to the process priority, and starting the sub-process.

[0083] In the specific implementation, the startup task of the sub-process with high process priority can be executed first, and then the remaining sub-processes can be started step by step. If the system performance occupancy is high, the startup process can be paused and the suspended startup task can be started again when the system performance occupancy is low.

[0084] This embodiment provides a method for managing in-vehicle application processes. This method, in response to a request to launch a process that a target application depends on, determines whether the process page of the process to be launched is running in the foreground of the target application. If the process page of the process to be launched is not running in the foreground of the target application, the task of launching the child process of the process to be launched is suspended. By managing processes that are not needed by the user, unnecessary processes are prevented from occupying system resources, improving the operating efficiency of the in-vehicle system, reducing overall system hardware resources, and meeting the diverse process management needs of different in-vehicle applications.

[0085] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above embodiment 1 can be referred to the above introduction and will not be described in detail later. Figure 4 , step S10 includes steps S101 to S104:

[0086] Step S101: In response to a request to launch a process to be launched that a target application depends on, a first process dependency of the target application is obtained.

[0087] It should be noted that after receiving the pull-up request, the first process dependency of the target application can be obtained. The first process dependency of the target application is the dependency between the target application and other processes. For example, if the startup of target application a depends on process b and process c, then the first process dependency of the target application includes the dependency with process b and the dependency with process c.

[0088] Step S102: determining the process to be launched of the target application according to the first process dependency relationship.

[0089] In a specific implementation, the process to be launched of the target application can be determined according to the first process dependency. For example, if the first process dependency includes dependencies with process b and process c, the processes to be launched are process b and process c.

[0090] Step S103: Obtain the view page type of the process to be launched.

[0091] It is understandable that view page types may include Activity pages (complete pages) and system pop-ups.

[0092] Step S104: determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type.

[0093] It should be noted that different view page types obtain different running conditions of the process page, so it can be determined based on the view page type whether the process page of the process to be launched is running in the foreground of the target application.

[0094] In a feasible implementation, step S104 may include steps A11 to A15:

[0095] Step A11: when the view page type is a complete page type, obtaining the page change information of the foreground and backend through a preset native function;

[0096] It should be noted that when the view page type of the process to be launched is a complete page type (such as an Activity page), the system needs a mechanism to obtain change information of the foreground and background pages in real time or periodically. This can usually be achieved through the native API or framework of the operating system. These APIs or frameworks provide the ability to access the currently displayed page, historically displayed pages, and page state changes (such as from foreground to background, or from background to foreground). In this way, the system can accurately know which pages are running in the foreground and which pages have entered the background.

[0097] For example, the Android system uses the IActivityManager.registerTaskStackListener function to obtain information about page changes between the foreground and background. For example, suppose a car system has a music app and a navigation app. A user is playing a song in the music app, with the music app's page running in the foreground. When the user switches to the navigation app, the music app's page moves to the background, while the navigation app's page remains in the foreground. The system uses pre-defined native methods to capture these page change information in real time.

[0098] Step A12: obtaining the currently displayed page and the paused historically displayed page according to the page change information;

[0099] In practice, after obtaining page change information, this information can be parsed to determine the currently displayed page (foreground page) and the previously displayed but now paused page (background page). This allows for accurate tracking and identification of page status. Specifically, the currently displayed page can be obtained through activityManager.getRunningTasks().topActivity. The cached data of the last displayed page can be used to infer the page that has been moved to the background. The historically paused page is the cached last displayed page.

[0100] For example, when the user switches from a music application to a navigation application, it is identified based on the page change information that the currently displayed page is the page of the navigation application, and the page of the music application becomes one of the historically displayed pages.

[0101] Step A13: determining to enter a backend page according to the current display page and the historical display page;

[0102] In a specific implementation, the backend page can be calculated based on the current display page and the historical display page. Specifically, the difference between the current display page and the historical display page can be compared and the pages whose status changes from "foreground" to "backend" can be identified to enter the backend page.

[0103] Step A14: when the process page of the process to be launched does not exist in the background page, determining that the process page of the process to be launched is running in the foreground of the target application;

[0104] It should be noted that if the page that enters the background does not contain the process page of the process to be launched, it can be inferred that the process page of the process to be launched is still running in the foreground. Suppose the user is using a navigation application for route planning, and the navigation application page is running in the foreground. If the list of pages that enter the background is checked and the navigation application page is not found in the list, then it can be determined that the navigation application process page (i.e., the process page of the process to be launched) is still running in the foreground of the application.

[0105] Step A15: When the process page of the process to be launched exists in the background page entered, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

[0106] On the contrary, if the page entering the background includes the process page of the process to be launched, then it can be inferred that the process page of the process to be launched is no longer running in the foreground of the target application, but has entered the background. This means that the user may no longer need the function corresponding to the process, or has switched to other applications or functions. For example, when a user is using a navigation application for route planning, he suddenly switches to a music application to play songs, then the page of the navigation application will enter the background. At this time, if you check the list of pages entering the background and find that the page of the navigation application is included in the list, it is determined that the process page of the navigation application (that is, the process page of the process to be launched) is no longer running in the foreground of the application.

[0107] It should be noted that, in addition to the Activity page, the view page also includes a system pop-up window. Therefore, step S104 may also include steps B11 to B13:

[0108] Step B11: when the view page type is a system pop-up window type, obtaining pop-up window display information and pop-up window hiding information;

[0109] It should be noted that when the view page type of the process to be launched is a system pop-up window, the system needs to monitor the display and hiding status of the pop-up window. By listening to the pop-up window display and hide events, the system can determine whether the process page of the process to be launched is running in the foreground of the target application. The in-vehicle system has a pop-up window competition management module, which can obtain information about whether the pop-up window is displayed or hidden.

[0110] Step B12: when the process to be launched exists in the pop-up window display information, determining that the process page of the process to be launched is running in the foreground of the target application;

[0111] In a specific implementation, when a pop-up window is displayed, if the pop-up window belongs to a process page of a process to be launched, it is considered that the process page is running in the foreground of the target application.

[0112] Step B13: When the process to be launched exists in the pop-up hidden information, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

[0113] When the pop-up window is hidden, if the pop-up window belongs to the process page of the process to be launched, it is considered that the process page enters the background, that is, it is not running in the foreground of the target application.

[0114] In a feasible implementation, in order to ensure the accuracy and efficiency of process management, the system can also review the process status regularly or according to specific conditions to promptly discover and correct possible error states. Figure 5 As shown, Figure 5This is a display diagram of a pop-up event. The pop-up competition management module obtains the application's request to display the system pop-up, such as the request to display the system pop-up. The pop-up information being displayed can be cached or the system pop-up can be allowed to be displayed. If a notification to hide the system pop-up is received, the pop-up information being displayed is updated.

[0115] like Figure 6 As shown, Figure 6 This is a schematic diagram of process launching control in this embodiment. When the system is cold-started and the process is launched, if the launched application a1 is of the complete page Activity type and the application a1 depends on is application b, then its associated application will be launched, that is, only the process of b will be launched, and the child process of process b will not be launched. If the type of the launched process is to launch the pop-up application a2, and the processes a2 depends on are application e, application f and application g, then the processes of applications e, f and g will be launched, and the processes they depend on will be suspended and launched.

[0116] This embodiment obtains the first process dependency of the target application in response to a request to launch a process to be launched that the target application depends on; determines the process to be launched of the target application based on the first process dependency; obtains the view page type of the process to be launched; and determines whether the process page of the process to be launched is running in the foreground of the target application based on the view page type. By analyzing the process dependency of the target application and determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type, the suspension and launch management of unnecessary processes is achieved. This avoids unnecessary processes from occupying system resources and effectively improves the operating efficiency of the in-vehicle system.

[0117] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the above embodiment 1 can be referred to the above introduction and will not be described in detail later. Figure 7 , step S20 includes steps S201 to S203:

[0118] Step S201: when the process page of the process to be launched is not running in the foreground of the target application, obtaining a second process dependency of the process to be launched.

[0119] In practice, a second process dependency refers to the dependency between the process to be launched and its other sub-processes. For example, if the process to be launched is navigation, it may depend on sub-processes such as the map data process and the location service process. If the process page of the process to be launched is not running in the foreground of the target application, the system can analyze the second process dependency to determine which sub-processes are required for the process to be launched, allowing for appropriate management in subsequent steps.

[0120] Step S202: Determine the subprocess of the process to be launched according to the second process dependency relationship.

[0121] In a specific implementation, the sub-processes of the process to be launched can be determined through the second process dependency relationship. For example, according to the second process dependency relationship, the sub-processes of the process b to be launched are process e and process f.

[0122] Step S203: Start the process to be started, and suspend the task of starting the sub-process.

[0123] It is understandable that the process to be launched can be launched first, while its sub-processes can be suspended. This prevents these sub-processes from occupying system resources before the user actually needs the functions provided by them. For example, if the user only briefly switches to the navigation application to view the current location and does not need detailed map data or route planning, the system can only launch the navigation application process and suspend launching the map data process or route planning process. In this way, the number of downstream nodes of the service that the view function depends on does not exceed one, and the task of launching the sub-process is suspended. Only the process to be launched is launched, avoiding the impact of launching a large number of processes on system performance.

[0124] In a specific implementation, when the process to be launched is running in the foreground, the launching task of the child process can continue to be executed, thereby improving the cold start efficiency of the system.

[0125] It should be noted that if some applications have functions that are difficult to implement on one downstream node, this part of the business can be implemented in the middle layer to avoid starting a large number of processes.

[0126] In a feasible implementation, the process to be started may also switch from the background to the foreground. Therefore, after pausing the starting task, it also includes: detecting whether the process page of the process to be started is switched to the foreground of the target application; when the process page of the process to be started is switched to the foreground of the target application, executing the starting task of the sub-process and starting the sub-process.

[0127] It should be noted that after the launch task is suspended, it is possible to continuously detect whether the process page of the process to be launched is switched to the foreground of the target application. If it is not switched to the foreground of the target application, the launch task of the sub-process will continue to be suspended. If it is detected that the process page of the process to be launched is switched to the foreground of the target application, the launch task of the sub-process can be restored at this time. Therefore, the launch task of the sub-process can be executed to launch the sub-process. In this way, the sub-process can be launched only when the process to be launched needs to execute the corresponding function when running in the foreground, thereby avoiding launching a large number of processes during cold start, which may affect the system performance and improve the system operation efficiency.

[0128] This embodiment obtains a second process dependency of the process to be launched when the process page of the process to be launched is not running in the foreground of the target application; determines a subprocess of the process to be launched based on the second process dependency; launches the process to be launched, and pauses the task of launching the subprocess. This improves the efficiency of vehicle system resource utilization, allowing the vehicle system to run various applications more efficiently and enhancing the user experience.

[0129] For example, in order to help understand the implementation process of the vehicle application process management method obtained by combining this embodiment with the above embodiment 1, please refer to Figure 8 , Figure 8 A brief flowchart of a method for managing in-vehicle application processes is provided. Specifically, if application a is brought to the foreground, in order to implement the function of application a, it is necessary to bring up processes b and c on which it depends, and at the same time, attempt to bring up the sub-processes on which processes b and c depend. To avoid bringing up a large number of processes, a general OEM interface checks whether the initiating process page is in the foreground. If not, the sub-processes of processes b and c are not brought up, and the bringing-up task is cached. The interface then returns to the step of checking whether the initiating process page is in the foreground. If the initiating process page is in the foreground, the sub-processes of processes b and c are brought up.

[0130] It should be noted that the above examples are only used to understand this application and do not constitute a limitation on the vehicle-mounted application process management method of this application. More simple transformations based on this technical concept are all within the scope of protection of this application.

[0131] This application also provides a vehicle-mounted application process management device, please refer to Figure 9 , the vehicle-mounted application process management device includes:

[0132] The response module 10 is configured to respond to a request to launch a process to be launched that a target application depends on, and determine whether a process page of the process to be launched is running in the foreground of the target application.

[0133] The pausing module 20 is configured to suspend the launching task of the sub-process of the process to be launched when the process page of the process to be launched is not running in the foreground of the target application.

[0134] The in-vehicle application process management device provided in this application, utilizing the in-vehicle application process management method described in the aforementioned embodiments, can resolve the technical issue of long system startup times and user wait times when launching an in-vehicle application process. Compared to the prior art, the in-vehicle application process management device provided in this application achieves the same beneficial effects as the in-vehicle application process management method described in the aforementioned embodiments. Other technical features of the in-vehicle application process management device are the same as those disclosed in the aforementioned embodiments and are not further elaborated here.

[0135] In one embodiment, the response module 10 is further used to obtain the first process dependency of the target application; determine the process to be launched of the target application based on the first process dependency; obtain the view page type of the process to be launched; and determine whether the process page of the process to be launched is running in the foreground of the target application based on the view page type.

[0136] In one embodiment, the response module 10 is further used to obtain page change information of the foreground and background through a preset native function when the view page type is a complete page type; obtain the current display page and the paused historical display page according to the page change information; determine the background page to be entered according to the current display page and the historical display page; when the process page of the process to be launched does not exist in the background page to be entered, determine that the process page of the process to be launched is running in the foreground of the target application; when the process page of the process to be launched exists in the background page to be entered, determine that the process page of the process to be launched is not running in the foreground of the target application.

[0137] In one embodiment, the response module 10 is also used to obtain pop-up display information and pop-up hidden information when the view page type is a system pop-up type; when the process to be launched exists in the pop-up display information, determine that the process page of the process to be launched is running in the foreground of the target application; when the process to be launched exists in the pop-up hidden information, determine that the process page of the process to be launched is not running in the foreground of the target application.

[0138] In one embodiment, the pause module 20 is also used to obtain the second process dependency of the process to be started when the process page of the process to be started is not running in the foreground of the target application; determine the child process of the process to be started based on the second process dependency; start the process to be started, and suspend the starting task of the child process.

[0139] In one embodiment, the pause module 20 is also used to detect whether the process page of the process to be started is switched to the foreground of the target application; when the process page of the process to be started is switched to the foreground of the target application, the starting task of the sub-process is executed to start the sub-process.

[0140] In one embodiment, the pause module 20 is also used to obtain the second process dependency of the process to be launched when the process page of the process to be launched is running in the foreground of the target application; determine the sub-process of the process to be launched based on the second process dependency; and launch the process to be launched and the sub-process.

[0141] The present application provides an in-vehicle application process management device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the in-vehicle application process management method in the above-mentioned embodiment one.

[0142] Reference below Figure 10 , which shows a schematic diagram of the structure of an in-vehicle application process management device suitable for implementing an embodiment of the present application. The in-vehicle application process management device in the embodiment of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 10 The in-vehicle application process management device shown is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of the present application.

[0143] like Figure 10As shown, the vehicle-mounted application process management device may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to the program stored in the ROM (Read Only Memory) 1002 or the program loaded from the storage device 1003 to the RAM (Random Access Memory) 1004. Various programs and data required for the operation of the vehicle-mounted application process management device are also stored in the RAM 1004. The processing device 1001, ROM 1002 and RAM 1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; an output device 1008 including, for example, an LCD (Liquid Crystal Display), speaker, vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the in-vehicle application process management device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows an in-vehicle application process management device with various systems, it should be understood that it is not required to implement or have all of the systems shown. More or fewer systems may be implemented or have alternatively.

[0144] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0145] The in-vehicle application process management device provided by this application, employing the in-vehicle application process management method of the aforementioned embodiment, can resolve the technical issue of long system startup times and user wait times when launching an in-vehicle application process. Compared to the prior art, the in-vehicle application process management device provided by this application has the same beneficial effects as the in-vehicle application process management method of the aforementioned embodiment. Other technical features of this in-vehicle application process management device are the same as those disclosed in the aforementioned embodiment and are not further elaborated here.

[0146] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0147] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

[0148] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the vehicle-mounted application process management method in the above-mentioned embodiment.

[0149] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory or Flash memory), optical fiber, CD-ROM (CD-Read Only Memory, portable compact disk read-only memory), optical storage device, magnetic storage device, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.

[0150] The computer-readable storage medium may be included in the vehicle-mounted application process management device; or may exist independently without being assembled into the vehicle-mounted application process management device.

[0151] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the vehicle-mounted application process management device, the vehicle-mounted application process management device: responds to the application pull-up request and determines the target application according to the application pull-up request; determines whether the process page of the process to be pulled up is running in the foreground of the target application based on the target application; when the process page of the process to be pulled up is not running in the foreground of the target application, suspends the pull-up task of the sub-process of the process to be pulled up.

[0152] The computer program code for performing the operations of the present application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a LAN (Local Area Network) or a WAN (Wide Area Network), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet).

[0153] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.

[0154] The modules described in the embodiments of the present application may be implemented in software or hardware, wherein the name of a module does not necessarily limit the unit itself.

[0155] The computer-readable storage medium provided in this application stores computer-readable program instructions (i.e., a computer program) for executing the aforementioned in-vehicle application process management method. This computer-readable storage medium can address the technical issue of long system startup times and user wait times when launching in-vehicle application processes. Compared to the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the in-vehicle application process management method provided in the aforementioned embodiments, and are not further elaborated here.

[0156] The present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned vehicle application process management method when executed by a processor.

[0157] The computer program product provided in this application can address the current technical issue of long system startup times and user wait times when launching in-vehicle application processes. Compared to the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the in-vehicle application process management method provided in the aforementioned embodiment, and are not further elaborated here.

[0158] The above description is only part of the embodiments of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made by using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A method for managing an in-vehicle application process, characterized in that: The vehicle-mounted application process management method includes: In response to a request to launch a process to be launched that a target application depends on, determining whether a process page of the process to be launched is running in the foreground of the target application; When the process page of the process to be launched is not running in the foreground of the target application, the launching task of the sub-process of the process to be launched is suspended.

2. The method according to claim 1, wherein The step of determining whether the process page of the process to be launched is running in the foreground of the target application includes: Obtaining a first process dependency of the target application; Determining the to-be-launched process of the target application according to the first process dependency relationship; Obtain the view page type of the process to be launched; Based on the view page type, it is determined whether the process page of the process to be launched is running in the foreground of the target application.

3. The method according to claim 2, wherein The step of determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type includes: When the view page type is a complete page type, the page change information of the front-end and back-end is obtained through a preset native function; Obtaining the currently displayed page and the paused historically displayed page according to the page change information; Determining to enter a backend page according to the current display page and the historical display page; When the process page of the process to be launched does not exist in the background page entered, determining that the process page of the process to be launched is running in the foreground of the target application; When the process page of the process to be launched exists in the background page entered, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

4. The method according to claim 2, wherein The step of determining whether the process page of the process to be launched is running in the foreground of the target application based on the view page type includes: When the view page type is a system pop-up window type, obtaining pop-up window display information and pop-up window hiding information; When the process to be launched exists in the pop-up window display information, determining that the process page of the process to be launched is running in the foreground of the target application; When the process to be launched exists in the pop-up window hidden information, it is determined that the process page of the process to be launched is not running in the foreground of the target application.

5. The method according to claim 1, wherein The step of suspending the launching task of the sub-process of the process to be launched when the process page of the process to be launched is not running in the foreground of the target application includes: When the process page of the process to be launched is not running in the foreground of the target application, obtaining a second process dependency of the process to be launched; Determine a subprocess of the process to be started according to the second process dependency relationship; Start the process to be started, and suspend the task of starting the sub-process.

6. The method according to claim 5, wherein After the step of starting the process to be started and pausing the task of starting the sub-process, the method further includes: Detect whether the process page of the process to be launched is switched to the foreground of the target application; When the process page of the process to be launched is switched to the foreground of the target application, the launching task of the sub-process is executed to launch the sub-process.

7. The method according to any one of claims 1 to 6, characterized in that After the step of responding to a launch request of a process to be launched that the target application depends on, and determining whether the process page of the process to be launched is running in the foreground of the target application, the method further includes: When the process page of the process to be launched is running in the foreground of the target application, obtaining a second process dependency of the process to be launched; Determine a subprocess of the process to be started according to the second process dependency relationship; Start the process to be started and the sub-process.

8. A vehicle-mounted application process management device, characterized in that: The device comprises: a response module, configured to respond to a request to launch a process to be launched that a target application depends on, and determine whether a process page of the process to be launched is running in the foreground of the target application; The pausing module is used to suspend the launching task of the sub-process of the process to be launched when the process page of the process to be launched is not running in the foreground of the target application.

9. A vehicle-mounted application process management device, characterized in that: The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the in-vehicle application process management method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the vehicle-mounted application process management method according to any one of claims 1 to 7 are implemented.