Application program startup method, and computer device, storage medium and product
By predicting the list of applications and preloading resources in memory, the problem of slow application startup speed is solved, startup efficiency is improved, memory resource consumption is reduced, and system performance is enhanced.
Patent Information
- Application Number
- PCT/CN2025/093665
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-09-02
- Filing Date
- 2025-05-09
- Publication Date
- 2026-03-05
AI Technical Summary
In existing technologies, the application startup speed is slow, which leads to increased system resource consumption and affects the overall system performance.
By predicting the list of applications, a list of resources to be loaded is obtained, and resources are preloaded in memory. The target application is launched only after a launch operation is received.
It improves application startup efficiency, reduces memory usage, and enhances overall system performance.
Smart Images

Figure CN2025093665_05032026_PF_FP_ABST
Abstract
Description
Application launch methods, computer devices, storage media and products
[0001] Cross-references
[0002] This application claims priority to Chinese Patent Application No. 202411217337.8, filed on September 2, 2024, entitled "Application Launch Method, Computer Device, Storage Medium and Product", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of computer technology, and in particular to an application startup method, computer device, storage medium, and product. Background Technology
[0004] Currently, applications installed on terminals require more and more system resources, and the startup speed of applications slows down as the required resources increase, resulting in slower application response speeds.
[0005] In related technologies, to improve application response speed, the entire application is typically pre-started. After startup, the application is placed in the background with lower priority to improve its responsiveness when selected, thus enhancing the user experience. However, this approach requires allocating more memory space for already started applications. As the number of applications running in the background increases, memory consumption also increases, leading to a reduction in available system resources and impacting overall system performance. Summary of the Invention
[0006] This application provides an application launch method, a computer device, a storage medium, and a product. The technical solution is as follows:
[0007] On one hand, an application launch method is provided, the method comprising: predicting an application list, the application list containing at least one application to be launched; obtaining a list of resources to be loaded corresponding to each application to be launched in the application list, the list of resources to be loaded containing a first resource file of the application to be launched; the first resource file being a resource file in the resource file corresponding to the application that meets the preloading conditions; preloading resources in memory based on the list of resources to be loaded corresponding to each application to be launched; and, upon receiving a launch operation for a target application, launching the target application based on the first resource file of the target application preloaded in memory; the target application being any application in the application list.
[0008] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one computer program, the at least one computer program being loaded and executed by the processor to implement the above-described application launch method.
[0009] On the other hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer program, which is loaded and executed by a processor to implement the above-described application startup method.
[0010] On the other hand, a computer program product is provided, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to execute to implement the application launch method provided in the various optional implementations described above.
[0011] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0012] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0013] Figure 1 shows a flowchart of an application startup method provided in an exemplary embodiment of this application;
[0014] Figure 2 shows a schematic diagram of the system architecture of a computer device provided in an exemplary embodiment of this application;
[0015] Figure 3 shows a flowchart of an application startup method provided in an exemplary embodiment of this application;
[0016] Figure 4 illustrates a schematic diagram of the application determination process provided in an exemplary embodiment of this application;
[0017] Figure 5 illustrates a schematic diagram of updating the list of resources to be loaded based on the application lifecycle, provided in an exemplary embodiment of this application.
[0018] Figure 6 shows a schematic diagram of the preloading determination process of the preloading system provided in an exemplary embodiment of this application;
[0019] Figure 7 shows a structural block diagram of a computer device illustrated in an exemplary embodiment of this application;
[0020] Figure 8 shows a structural block diagram of a computer device illustrated in an exemplary embodiment of this application. Detailed Implementation
[0021] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0022] During application startup, some necessary library files, images, and other resources are loaded. If these resource files are numerous or large, the read and write operations during startup will be time-consuming, leading to a longer application startup time. If some time-consuming or necessary resources are pre-read / loaded into memory before the application is opened, the total resource loading time can be reduced when the application is officially launched, based on the pre-read / loaded resources, thereby improving application startup efficiency. Figure 1 shows a flowchart of an application startup method provided in an exemplary embodiment of this application. This method can be executed by a computer device, which can be implemented as a server or a terminal. As shown in Figure 1, the application startup method may include the following steps:
[0023] Step 110: Predict the application list, which contains at least one application to be launched.
[0024] In one possible implementation, the computer device can predict the types of applications that need to be launched in advance and the timing of preloading to obtain a list of such applications; that is, the predicted list of applications includes a preloading timing for each application to be launched.
[0025] Step 120: Obtain the list of resources to be loaded for each application to be launched in the application list. The list of resources to be loaded contains the first resource file of the application to be launched. The first resource file is the resource file in the resource file corresponding to the application that meets the preloading conditions.
[0026] Each application to be launched in the application list has its own corresponding list of resources to be loaded. The first resource file that meets the preloading conditions is a part of the total resource files of the corresponding application. The preloading conditions can be set based on attributes such as the size, access frequency and importance of the resource file. The preloading conditions are used to filter out the bottleneck resources of the application.
[0027] Step 130: Preload resources in memory based on the list of resources to be loaded for each application to be launched.
[0028] In one possible implementation, the computer device can obtain and preload the corresponding resource files into system memory based on the list of resources to be loaded for each application to be launched; in one embodiment, the computer device can preload the resource files indicated by the list of resources to be loaded into system memory based on the preloading timing corresponding to the application to be launched. This system memory may refer to Page Cache memory.
[0029] In one possible implementation, the computer device releases the resource files of the application to be launched that are preloaded in memory when the preloading time for a certain application to be launched is determined to be completed, so as to reduce the occupation of memory resources.
[0030] Step 140: Upon receiving a launch operation for the target application, launch the target application based on the first resource file of the target application preloaded in memory; the target application is any application in the application list.
[0031] By preloading some resources of the target application, the system can avoid reloading the preloaded resources when the user starts the target application, thus saving the loading time of this part of the resources and improving the startup efficiency of the application.
[0032] In the above process, only a portion of the application's resources are loaded into memory. The preloading process does not start the application; it only performs dynamic resource loading and unloading in memory. Compared to related technologies that pre-start the entire application, the solution provided in this application avoids the problem of excessive memory resource consumption caused by pre-starting too many applications. Furthermore, after loading some resources into memory, since the read / write rate of resources in the memory region is usually much higher than the read / write rate of resources in the Flash storage device, preloading some application resources into memory can reduce the time consumption required for resource access. This allows the solution provided in this application to improve application response efficiency while reducing excessive memory usage, thereby improving the overall performance of the system.
[0033] In summary, the application startup method provided in this application provides a method that predicts an application list containing at least one application to be launched, obtains a list of resources to be loaded for each application to be launched, and includes a first resource file in the application that meets the preloading conditions. Resources are preloaded in memory based on the resource lists of each application to be launched. When an application with preloaded first resource files receives a startup operation, it can start the program based on the preloaded first resource files. By preloading some resources of the predicted applications to be launched into memory, the amount of resources required to start the application after receiving a startup operation can be reduced, thereby improving the application's response efficiency and startup speed. Simultaneously, it can also reduce excessive memory resource consumption and improve the overall system performance.
[0034] In this embodiment of the application, the computer device may include a prediction system, a resource management system and a preloading system. The computer device implements the application startup method based on the above-mentioned systems. Figure 2 shows a schematic diagram of the system architecture of the computer device provided in an exemplary embodiment of the application. As shown in Figure 2, the computer device includes a prediction system 210, a resource management system 220 and a preloading system 230.
[0035] The prediction system 210 can be an artificial intelligence (AI) prediction system. The prediction system 210 is used to predict the user's application list, that is, to predict one or more applications that the user is most likely to open next. After the prediction system 210 predicts the application list, it sends the application list to the preloading system 230, which performs a resource preloading process based on the application list.
[0036] The resource management system 220 is used to monitor and manage the resource files of each application in real time in the background, and to determine the list of resources to be loaded for each application and manage the list of resources to be loaded. The resource management system 220 provides the determined list of resources to be loaded for each application to the preloading system 230. The preloading system 230 preloads the resource files of the applications in the application list based on the list of resources to be loaded for each application.
[0037] The preloading system 230 loads the resource files in the application's resource list into memory before the application is officially started, provided that the application list predicted by the prediction system 210 is not empty and the corresponding application's resource list provided by the resource management system 220 is also not empty. This reduces startup time and improves startup speed when the application is officially opened and used.
[0038] In one possible implementation, the preloading system 230 may also send resource update instructions to the resource management system 220, for example, by periodically sending resource update instructions, or by sending resource update instructions after receiving the application list sent by the prediction system 210, to determine that the list of resources to be loaded for the application to be launched is up-to-date and adapted to the application to be launched.
[0039] Based on the system architecture of the computer device shown in Figure 2, Figure 3 illustrates a flowchart of an application startup method provided in an exemplary embodiment of this application. This method can be executed by a computer device, which can be implemented as a server or a terminal. As shown in Figure 3, the application startup method may include the following steps:
[0040] Step 310: Predict the application list, which contains at least one application to be launched.
[0041] In this embodiment of the application, the computer device predicts a list of applications through a prediction system. This list may include applications that the user is predicted to launch, i.e., applications to be launched.
[0042] In one possible implementation, when predicting the application list, for capacitive touchscreen devices, since the working principle of capacitive touchscreens is to determine the touch position by detecting the capacitance change between the user's finger and the screen, the capacitance value on the touchscreen is stable when no finger is touching or near the touchscreen. The closer the user's finger is to the touchscreen, the greater the capacitance between the user's finger and the screen. The computer device can predict the touch position that the user may operate based on the capacitance change between the user's finger and the touchscreen. That is, before the user's finger touches the touchscreen, the touch position is predicted based on the capacitance change between the user's finger and the touchscreen, and then the application corresponding to the touch position is predicted as the application to be launched. This process can be implemented as follows: acquiring the capacitance information between the user's finger and the touchscreen; predicting the touch position of the user's finger on the touchscreen based on the capacitance information; and adding the application corresponding to the touch position to the application list.
[0043] During this process, even if the user's finger has not yet touched the touchscreen, the computer device can predict the touch position by using the touchscreen controller based on the change in capacitance information between the user's finger and the touchscreen. This allows the device to capture the position the user is about to click in advance, and then determine the application to be launched based on the coordinate layout of each application in the Launcher (main screen application). In other words, it determines the application to be launched and adds it to the application list.
[0044] In one possible implementation, the computer device can determine the application closest to the touch position as the application to be launched; or, in another possible implementation, the computer device can also determine multiple applications near the touch position as applications to be launched after predicting the touch position; wherein, the applications near the touch position can refer to the applications closest to the touch position in each direction centered on the touch position as the application to be launched. FIG4 shows a schematic diagram of the application determination process provided by an exemplary embodiment of the present application. As shown in FIG4, if the touch position 410 is predicted based on the capacitance information between the user's finger and the touch screen, the computer device can determine the application 420 closest to the touch position 410 as the application to be launched, or the computer device can also determine the applications 430 closest to the touch position 410 in each direction around the touch position 410 as applications to be launched.
[0045] In another possible implementation, the computer device can predict the user's next possible action based on the user's historical behavior data, thereby determining the application to be launched. This process can be implemented as follows: acquiring the user's historical behavior data, which includes historical time periods and historical application launch behavior information; performing statistical analysis on user behavior patterns based on the historical behavior data to obtain statistical results; and predicting a list of applications based on the statistical results.
[0046] When conducting user behavior pattern statistics, on one hand, computer devices can determine the primary correlation between application launch behavior and time periods based on historical behavior data. Specifically, if historical behavior data determines that a user consistently launches a certain application within a fixed time period, then a correlation is established between the application launch behavior and that time period. For example, if historical behavior data shows that a user opens the first application at 9 PM for 10 consecutive days, then a primary correlation can be established between 9 PM and launching the first application, allowing the first application to be added to the application list for a period before 9 PM thereafter. The division of time periods can be set according to needs, such as dividing a time period into 10-minute intervals, or 5-minute intervals, etc., and this application does not impose any restrictions on this.
[0047] On the other hand, computer devices can determine a second correlation between the startup behaviors of various programs based on historical behavior data; wherein, if it is determined based on historical behavior data that the proportion of a user launching a second application after launching a first application exceeds a certain threshold, then a correlation is determined between launching the first application and launching the second application; illustratively, if a user opens application 1 10 times and the next application opened is application 2 more than 8 times, then application 2 can be added to the application list as a program to be launched after exiting application 1.
[0048] Step 320: Obtain the list of resources to be loaded for each application to be launched in the application list. The list of resources to be loaded contains the first resource file of the application to be launched. The first resource file is the resource file in the resource file corresponding to the application that meets the preloading conditions.
[0049] In this embodiment of the application, the computer device can manage the list of resources to be loaded for each application in the resource management system, and thus, in the preloading scenario, obtain the list of resources to be loaded for each application to be launched in the application list.
[0050] In this embodiment of the application, the computer device determines the resource file that meets the preloading conditions of the application as the first resource file and adds it to the list of resources to be loaded. The preloading conditions include at least one of the following: the file size of the resource file is greater than a first file size threshold; the number of times the resource file is accessed is greater than a first access threshold; the number of times the historical read and write operation rate of the resource file exceeds the rate threshold exceeds a second access threshold; the rate threshold is determined based on the average read and write operation rate of the corresponding resource file.
[0051] The values of each threshold can be set based on actual needs, and this application does not impose any restrictions on them. The aforementioned preloading conditions can be applied at different times: First, when the resource management system starts for the first time, kernel tracing technology can be used to count all files accessed during the startup process of each application. Based on a first file size threshold, resource files with larger file sizes can be selected; alternatively, based on a first access threshold, resource files with more access frequency can be selected. The access frequency of a resource file can be the number of times it is accessed during a single application startup. These resource files are then designated as the first resource files for the corresponding application and added to the list of resources to be loaded.
[0052] Afterwards, the resource management system can maintain the list of resources to be loaded. That is, when the application's historical data reaches a certain amount, the resource management system can count the historical read and write rates of each resource file and determine the rate threshold. Then, the resource file whose historical read and write operation rate exceeds the rate threshold more than the second threshold is regarded as the first resource file of the corresponding application and added to the list of resources to be loaded.
[0053] When performing read / write operation rate statistics, the resource management system can use I / O (Input / Output) performance monitoring tools or techniques to determine the time consumed by reading or writing a specific resource file. For example, these monitoring tools could be eBPF (Extended Berkeley Packet Filter) I / O performance monitoring tools such as vfsstat, filetop, and fsslowe. At the VFS (Virtual File System) / FileSystem level, timestamps are added at the start and end times of file read / write operations, and the time difference is calculated to determine the time consumed by the read / write operation. By collecting statistics on the time and number of read / write operations of each resource file during application startup, the resource management system can calculate the read / write operation rate of each resource file during that startup process. Combined with historical read / write operation rates from the history records, and using an average management algorithm, the average read / write operation rate of each resource file can be calculated. If the current read / write operation rate exceeds a rate threshold determined based on the average read / write operation rate, the current read / write operation rate is determined to be slow, and the count is incremented by one. This operation rate can be equal to the average read / write operation rate, or it can be a multiple of the average read / write operation rate. This multiple can be set based on actual needs, for example, it can be 0.9, or it can be 1.3, etc. This application does not impose any restrictions on this. If the number of times the resource file's read / write rate is determined to be slow exceeds a second count threshold, then the resource file is determined to need to be preloaded, and the resource file is added to the list of resources to be loaded.
[0054] Furthermore, as an application's lifecycle changes, its resource requirements may also change. Therefore, in order to keep the list of resources to be loaded appropriate for the application, computer devices can monitor the application's lifecycle through a resource management system. This application lifecycle includes installation, updates, and uninstallation.
[0055] Update the first resource file in the target application's list of resources to be loaded based on changes in the application's lifecycle.
[0056] By updating the list of resources to be loaded as the application lifecycle changes, the corresponding resources can be loaded based on the updated list of resources to be loaded when the target application starts, thereby ensuring the matching of preloaded resources with target resources and improving application startup efficiency.
[0057] As an illustration, when an application is updated or upgraded, the resource files previously added to the application's list of resources to be loaded may no longer exist or may have changed in size. Therefore, the computer device can delete the resource files from the application's list of resources to be loaded, and then filter the resource files of the new version of the application based on the above preloading conditions, adding the new first resource file selected to the list of resources to be loaded.
[0058] When an application is uninstalled, its resource files become invalid. Therefore, there is no need to maintain a list of resources to be loaded for that application, and the computer device can delete that list.
[0059] Figure 5 illustrates a schematic diagram of updating the list of resources to be loaded based on the application lifecycle according to an exemplary embodiment of this application. As shown in Figure 5, the process includes:
[0060] Step S501: The resource management system monitors the lifecycle status of the application.
[0061] Step S502: Determine whether a new application has been installed. If so, proceed to step S507; otherwise, do not perform any operation.
[0062] Step S503: Determine whether to update the application. If yes, proceed to step S504; otherwise, do not perform any operation.
[0063] Step S504: Delete the original resource files from the list of resources to be loaded for the application, and then proceed to step S507.
[0064] Step S505: Determine whether to delete the application. If yes, proceed to step S506; otherwise, do not perform any operation.
[0065] Step S506: Delete the application's list of resources to be loaded.
[0066] Step S507: Obtain all resource files during the application startup process.
[0067] Step S508: Filter out the larger resource files and the resource files with the most accesses.
[0068] Step S509: Add to the list of resources to be loaded for the application.
[0069] Step 330: If the memory resource utilization rate is determined to be less than the maximum utilization rate threshold, preload resources in memory based on the list of resources to be loaded for each application to be started.
[0070] Before preloading resources, the system performance environment must be considered. If the current system performance environment is poor, it will affect the normal operation of applications in the system. Therefore, before preloading resources, the system's memory resource utilization rate needs to be judged. If the resource utilization rate is less than the maximum utilization rate threshold, it is determined that the memory resources are relatively sufficient, and the resource preloading process is carried out under this condition.
[0071] If the memory resource utilization rate is determined to be greater than or equal to the maximum utilization rate threshold, the resource preloading process is not performed; in one embodiment, if there are preloaded resource files and the memory resource utilization rate is determined to be greater than or equal to the maximum utilization rate threshold, the memory resources occupied by the preloaded resource files are released.
[0072] Furthermore, after the prediction system predicts the application most likely to be launched next (i.e., the application to be launched), if the application to be launched is already running in the background, there is no need to preload resources; if the total resource file of the application to be launched is small, the launch speed is also fast without preloading, so there is no need to preload resources. Therefore, this application provides a whitelist mechanism, in which the computer device preloads resources in memory based on the list of resources to be loaded for the target application when it determines that the target application is in the whitelist.
[0073] Specifically, if the target application is not running in the background and the total file size of the target application's resource files is greater than or equal to the second file size threshold, the target application is determined to be in the whitelist.
[0074] Figure 6 illustrates a schematic diagram of the preloading determination process of the preloading system provided in an exemplary embodiment of this application. As shown in Figure 6, the process includes:
[0075] In step S601, the preloading system receives the application list sent by the prediction system.
[0076] Step S602: Determine if there is a next program in the application list; if yes, proceed to step S603; otherwise, end the determination process.
[0077] Step S603: Determine if the system memory is sufficient; if yes, proceed to step S605; otherwise, proceed to step S604.
[0078] Step S604: Release the loaded resource files.
[0079] Step S605: Determine whether the extracted application is in the whitelist. If so, proceed to step S606; otherwise, do not preload.
[0080] Step S606: Preload resources in memory based on the application's list of resources to be loaded.
[0081] Step 340: Upon receiving a launch operation for the target application, launch the target application based on the first resource file of the target application preloaded in memory; the target application is any application in the application list.
[0082] In summary, the application startup method provided in this application provides a method that predicts an application list containing at least one application to be launched, obtains a list of resources to be loaded for each application to be launched, and includes a first resource file in the application that meets the preloading conditions. Resources are preloaded in memory based on the resource lists of each application to be launched. When an application with preloaded first resource files receives a startup operation, it can start the application based on the preloaded first resource files. By preloading some resources of the predicted applications to be launched into memory, the amount of resources required to start the application after receiving a startup operation can be reduced, thereby improving the application's response efficiency and startup speed. Simultaneously, it can also reduce excessive memory resource consumption and improve the overall system performance.
[0083] In addition, before resource preloading, it is determined whether the application to be launched is in the whitelist. If it is in the whitelist, the corresponding resource preloading operation is performed; otherwise, resource preloading is not performed to avoid the impact of resource preloading on the overall system performance and ensure system stability.
[0084] Figure 7 shows a structural block diagram of a computer device 700 according to an exemplary embodiment of this application. This computer device can be implemented as a server as described above in this application. The computer device 700 includes a processor (e.g., a central processing unit (CPU)) 701, a system memory 704 including random access memory (RAM) 702 and read-only memory (ROM) 703, and a system bus 705 connecting the system memory 704 and the processor 701.
[0085] The computer device 700 also includes a mass storage device 706 for storing an operating system 709, application programs 710, and other program modules 711. Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid-state storage technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage media are not limited to the above-mentioned types. The system memory 704 and the mass storage device 706 mentioned above can be collectively referred to as memory.
[0086] According to various embodiments of this application, the computer device 700 can also be connected to a remote computer on a network, such as the Internet. That is, the computer device 700 can be connected to a network 708 via a network interface unit 707 connected to the system bus 705, or it can use the network interface unit 707 to connect to other types of networks or remote computer systems (not shown).
[0087] The memory also stores at least one computer program, which the processor 701 executes to implement all or part of the steps in the application startup method shown in the above embodiments.
[0088] Figure 8 shows a structural block diagram of a computer device 800 according to an exemplary embodiment of this application. The computer device 800 can be implemented as the terminal described above. For example, the computer device can be an Android terminal device; typically, the computer device 800 includes a processor 801 and a memory 802. The memory 802 may include one or more computer-readable storage media for storing at least one instruction, which is executed by the processor 801 to implement all or part of the steps in the data processing result verification method shown in the method embodiment of this application. In some embodiments, the computer device 800 may also optionally include a peripheral device interface 803 and at least one peripheral device. The processor 801, memory 802, and peripheral device interface 803 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 803 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of a radio frequency circuit 804, a display screen 805, a camera assembly 806, an audio circuit 807, and a power supply 808. In some embodiments, the computer device 800 also includes one or more sensors 809. The one or more sensors 809 include, but are not limited to, an accelerometer 810, a gyroscope 811, a pressure sensor 812, an optical sensor 813, and a proximity sensor 814. Those skilled in the art will understand that the structure shown in FIG8 does not constitute a limitation on the computer device 800, and may include more or fewer components than shown, or combine certain components, or employ different component arrangements.
[0089] In one exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one computer program that is loaded and executed by a processor to implement all or part of the steps in the application startup method described above. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, or optical data storage device, etc.
[0090] In one exemplary embodiment, a computer program product is also provided, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform all or part of the steps of the embodiments shown in either FIG1 or FIG3.
[0091] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.
[0092] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. An application startup method, wherein, The method includes: Predict a list of applications, which contains at least one application to be launched; Obtain the list of resources to be loaded corresponding to each application to be launched in the application list. The list of resources to be loaded includes the first resource file of the application to be launched. The first resource file is a resource file in the resource file corresponding to the application that meets the preloading conditions. Resources are preloaded in memory based on the list of resources to be loaded for each application to be launched. Upon receiving a launch operation for the target application, the target application is launched based on the first resource file of the target application preloaded in memory; the target application is any application in the application list.
2. The method according to claim 1, wherein, The list of prediction applications includes: Acquire capacitance information between the user's finger and the touchscreen; Predict the touch position of the user's finger on the touchscreen based on the capacitance information; Add the application corresponding to the touch location to the application list.
3. The method according to claim 1, wherein, The list of prediction applications includes: Obtain the user's historical behavior data; the historical behavior data includes historical time periods and historical application launch behavior information; Based on the historical behavior data, statistical analysis of user behavior patterns was performed to obtain statistical results. The list of applications is predicted based on the statistical results.
4. The method according to claim 3, wherein, The statistical results obtained by performing user behavior pattern statistics based on the historical behavior data include: Based on the historical behavior data, a first correlation between application launch behavior and time period is determined; or A second correlation between the startup behaviors of each program is determined based on the historical behavior data.
5. The method according to claim 1, wherein, The preloading conditions include at least one of the following: The file size of the resource file is greater than the first file size threshold; The number of times the resource file was accessed exceeded the threshold for the first access; The number of times the historical read / write operation rate of the resource file exceeds the rate threshold exceeds the second threshold; the rate threshold is determined based on the average read / write operation rate of the corresponding resource file.
6. The method according to claim 1, wherein, The method further includes: Monitor the application lifecycle of the target application; the application lifecycle includes: installation, update, and uninstallation; Based on changes in the application lifecycle of the target application, update the first resource file in the list of resources to be loaded for the target application.
7. The method according to claim 1, wherein, The process of preloading resources in memory based on the list of resources to be loaded for each application to be launched includes: If the target application is determined to be on the whitelist, resources are preloaded in memory based on the list of resources to be loaded for the target application.
8. The method according to claim 7, wherein, The method further includes: If the target application is not running in the background and the total resource file size of the target application is greater than or equal to the second file size threshold, the target application is determined to be in the whitelist.
9. The method according to claim 1, wherein, The process of preloading resources in memory based on the list of resources to be loaded for each application to be launched includes: If the resource utilization rate of the memory is determined to be less than the maximum utilization rate threshold, resources are preloaded in the memory based on the list of resources to be loaded for each application to be launched.
10. The method according to claim 9, wherein, The method further includes: If the memory resource utilization rate is determined to be greater than or equal to the maximum utilization rate threshold, the memory resources occupied by the preloaded resource files are released.
11. A computer device, wherein, The computer device includes a processor and a memory, the memory storing at least one computer program, which is loaded and executed by the processor to implement the application launch method as described in any one of claims 1 to 10.
12. A computer-readable storage medium, wherein, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the application launch method as described in any one of claims 1 to 10.
13. A computer program product, wherein, The computer program product includes a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform an application launch method as described in any one of claims 1 to 10.
Citation Information
Patent Citations
Application program preloading method, device, storage medium and terminal
CN108595230A
Application preloading method and apparatus, storage medium and terminal
CN108647055A
Application program starting method and device, electronic equipment and storage medium
CN114217872A
Preloading debug information based on the increment of application
US20220164276A1